Aby pomóc wszystkim uniknąć nieporozumień, przeformułuję pytanie w dwóch częściach.
Po pierwsze: „jak wykonać uwierzytelnione żądanie HTTP za pomocą przeglądarki przy użyciu uwierzytelniania BASIC?” .
W przeglądarce możesz najpierw wykonać uwierzytelnianie podstawowe HTTP, czekając na monit, lub edytując adres URL, jeśli zastosujesz ten format: http://myusername:mypassword@somesite.com
Uwaga: polecenie curl wspomniane w pytaniu jest całkowicie w porządku, jeśli masz zainstalowany wiersz poleceń i curl. ;)
Bibliografia:
Również zgodnie ze stroną podręcznika 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.
Drugie i prawdziwe pytanie brzmi: „Jednak na stronie somesite.com w ogóle nie pojawia się monit o autoryzację, tylko strona z informacją, że nie mam autoryzacji. Czy ktoś nie zaimplementował poprawnie przepływu pracy Basic Auth, czy jest coś jeszcze muszę to zrobić? ”
Dokumentacja curl mówi, że -u
opcja obsługuje wiele metod uwierzytelniania, przy czym Basic jest domyślny.