Untuk membantu semua orang menghindari kebingungan, saya akan merumuskan kembali pertanyaan dalam dua bagian.
Pertama: "bagaimana cara membuat permintaan HTTP terotentikasi dengan browser, menggunakan otentikasi BASIC?" .
Di browser Anda dapat melakukan autentikasi dasar http terlebih dahulu dengan menunggu perintah yang akan datang, atau dengan mengedit URL jika Anda mengikuti format ini: http://myusername:mypassword@somesite.com
NB: perintah curl yang disebutkan dalam pertanyaan itu baik-baik saja, jika Anda memiliki command-line dan curl yang diinstal. ;)
Referensi:
Juga sesuai dengan halaman manual CURL https://curl.haxx.se/docs/manual.html
HTTP
Curl also supports user and password in HTTP URLs, thus you can pick a file
like:
curl http://name:passwd@machine.domain/full/path/to/file
or specify user and password separately like in
curl -u name:passwd http://machine.domain/full/path/to/file
HTTP offers many different methods of authentication and curl supports
several: Basic, Digest, NTLM and Negotiate (SPNEGO). Without telling which
method to use, curl defaults to Basic. You can also ask curl to pick the
most secure ones out of the ones that the server accepts for the given URL,
by using --anyauth.
NOTE! According to the URL specification, HTTP URLs can not contain a user
and password, so that style will not work when using curl via a proxy, even
though curl allows it at other times. When using a proxy, you _must_ use
the -u style for user and password.
Pertanyaan kedua dan nyata adalah "Namun, pada somesite.com, saya tidak mendapatkan prompt otorisasi sama sekali, hanya halaman yang mengatakan saya tidak berwenang. Apakah somesite tidak menerapkan alur kerja Basic Auth dengan benar, atau ada sesuatu apa yang harus saya lakukan? "
Dokumentasi curl mengatakan -u
opsi mendukung banyak metode otentikasi, Basic menjadi default.