Um Verwirrung zu vermeiden, werde ich die Frage in zwei Teile umformulieren.
Erstens: "Wie kann eine authentifizierte HTTP-Anfrage mit einem Browser unter Verwendung der BASIC-Authentifizierung gestellt werden?" .
Im Browser können Sie zuerst eine http-Basisauthentifizierung durchführen, indem Sie auf die Eingabeaufforderung warten oder die URL bearbeiten, wenn Sie diesem Format folgen: http://myusername:mypassword@somesite.com
NB: Der in der Frage erwähnte Befehl curl ist vollkommen in Ordnung, wenn Sie eine Befehlszeile und einen Curl installiert haben. ;)
Verweise:
Auch laut CURL-Handbuchseite 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.
Die zweite und eigentliche Frage lautet: "Auf somesite.com erhalte ich jedoch überhaupt keine Autorisierungsaufforderung, sondern nur eine Seite, auf der steht, dass ich nicht autorisiert bin. Hat jemand den Basic Auth-Workflow nicht korrekt implementiert oder gibt es etwas?" sonst muss ich tun? "
In der Curl-Dokumentation heißt es, dass die -u
Option viele Authentifizierungsmethoden unterstützt, wobei Basic die Standardeinstellung ist.