Mengikuti instruksi pada tautan di bawah ini, saya berhasil membangun REST API untuk aplikasi Django saya: http://django-rest-framework.org/tutorial/quickstart .
Saya dapat mengujinya dengan melakukan hal berikut dari prompt Unix:
curl -H 'Accept: application/json; indent=4' -u root:myPassword http://www.myWebsite.com/users/
Berhasil :)
Namun, saya ingin menggunakan ekstensi Chrome Advanced Rest Client untuk menguji fungsi yang sama ini. Saya telah menginstal ekstensi, tetapi saya tidak tahu di mana / bagaimana meletakkan bidang. Ketika saya membuat tebakan terpelajar saya (seperti yang Anda lihat di tangkapan layar), ia menolaknya dengan mengatakan "Kredensial otentikasi tidak diberikan"
Bagaimana / di mana saya harus menentukan parameter saya ke REST API?
sumber
Dari tangkapan layar saya dapat melihat bahwa Anda ingin meneruskan nilai "pengguna" dan "kata sandi" ke layanan. Anda telah mengirim nilai parameter di bagian header permintaan yang salah. Nilai dikirim di badan permintaan dan bukan di header permintaan. Juga sintaks Anda salah. Sintaks yang benar adalah:
{"user":"user_val","password":"password_val"}.
Periksa juga apa jenis kontennya. Ini harus cocok dengan jenis konten yang telah Anda setel ke layanan Anda.sumber
Ini sepertinya pertanyaan yang sangat lama, tapi saya memberikan jawaban, sehingga bisa membantu orang lain. Anda dapat menentukan variabel di layar kedua di bagian formulir, seperti yang ditunjukkan di bawah ini atau dalam format RAW dengan menambahkan variabel seperti yang ditunjukkan pada gambar kedua.
Jika nilai variabel dan variabel Anda valid, Anda akan melihat respons yang berhasil di bagian respons.
sumber
Format pintasan yang umumnya digunakan untuk autentikasi dasar adalah
http://username:[email protected]/path
. Anda juga ingin memasukkan header accept dalam permintaan.sumber
di bagian tajuk Anda harus menulis
Otorisasi: Dasar aG9sY67890vbGNpbQ ==
di mana string setelah basic adalah nilai pengkodean 64bit dari nama pengguna Anda: kata sandi. Contoh php untuk mendapatkan nilai header adalah: echo "Authorization: Basic". base64_encode ("myUser: myPassword");
nb: Saya menganggap metode otentikasi Anda sebagai dasar. yang juga bisa berbeda.
sumber
Tambahkan header otorisasi dan klik tombol pensil untuk memasukkan nama pengguna dan sandi
sumber
Cara mudah untuk mengatasi masalah otentikasi ini adalah dengan mencuri token otentikasi menggunakan Fiddler.
Langkah
Klik tombol KIRIM dan itu akan mengambil hasil.
sumber
Dengan ARC terbaru untuk permintaan GET dengan otentikasi perlu menambahkan header mentah bernama Otorisasi: authtoken.
Temukan cuplikan layar Dapatkan permintaan dengan otentikasi dan parameter kueri
Untuk menambahkan parameter Query klik panah drop down di sisi kiri kotak URL.
sumber