Saya sedang membangun klien layanan web REST dalam PHP dan saat ini saya menggunakan curl untuk membuat permintaan ke layanan.
Bagaimana cara saya menggunakan curl untuk membuat permintaan yang diautentikasi (dasar http)? Apakah saya harus menambahkan header sendiri?
php
rest
curl
basic-authentication
kosong
sumber
sumber
CURLOPT_USERPWD
pada dasarnya mengirim base64 dariuser:password
string dengan http header seperti di bawah ini:Jadi selain
CURLOPT_USERPWD
Anda juga dapat menggunakanHTTP-Request
opsi tajuk seperti di bawah ini dengan tajuk lainnya:sumber
CURLOPT_USERPWD
bekerja untuk saya.Cara paling sederhana dan asli untuk menggunakan CURL secara langsung.
Ini bekerja untuk saya:
sumber
Tidak seperti SOAP, REST bukan protokol standar sehingga agak sulit untuk memiliki "REST Client". Namun, karena sebagian besar layanan RESTful menggunakan HTTP sebagai protokol yang mendasarinya, Anda harus dapat menggunakan perpustakaan HTTP apa pun. Selain cURL, PHP juga menyediakannya melalui PEAR:
HTTP_Request2
yang diganti
HTTP_Request
Contoh bagaimana mereka melakukan HTTP Basic Auth
Juga mendukung Digest Auth
sumber
Jika jenis otorisasi adalah autentik Dasar dan data yang diposting json maka lakukan seperti ini
sumber
Yahoo memiliki tutorial tentang membuat panggilan ke layanan REST mereka menggunakan PHP:
Membuat Yahoo! Panggilan Layanan REST Web dengan PHP
Saya belum menggunakannya sendiri, tetapi Yahoo adalah Yahoo dan harus menjamin setidaknya beberapa tingkat kualitas. Mereka tampaknya tidak mencakup permintaan PUT dan DELETE.
Juga, Catatan Kontribusi Pengguna untuk curl_exec () dan lainnya mengandung banyak informasi yang baik.
sumber
Anda hanya perlu menentukan opsi CURLOPT_HTTPAUTH dan CURLOPT_USERPWD:
Atau sebutkan tajuk:
Contoh guzzle:
Lihat https://github.com/andriichuk/php-curl-cookbook#basic-auth
sumber
Michael Dowling sangat aktif dipertahankan membuang waktu adalah cara yang baik untuk pergi. Terlepas dari antarmuka yang elegan, panggilan asinkron dan kepatuhan PSR, itu membuat header otentikasi untuk panggilan REST menjadi sangat mudah:
Lihat dokumen .
sumber
Bagi yang tidak ingin menggunakan ikal:
sumber
Ada beberapa kerangka kerja REST di luar sana. Saya akan sangat menyarankan melihat ke dalam Slim mini Framework for PHP.
Berikut adalah daftar yang lain.
sumber