Die README-Datei sagt, dass "Autorisierungsinformationen von .netrc
berücksichtigt werden", aber es ist nicht klar, wie dies gemacht wird. Die README sollte aktualisiert werden, um dies zu erklären. Ich würde eine PR einreichen, aber ich kann es immer noch nicht herausfinden. Nicht ganz so einfach wie curl -n
.
Derzeit versucht HTTPie immer, die Standarddatei ~/.netrc
(oder ~/_netrc
unter Windows) zu lesen. Es ist tatsächlich die zugrunde liegende python-requests
Bibliothek, die das macht.
Hm ... Ich habe eine ~/.netrc
-Datei, die perfekt mit curl
funktioniert, aber von HTTPie völlig ignoriert zu werden scheint.
Hier ist ein Arbeitsbeispiel:
Ohne ~/.netrc
:
$ http httpbin.org/basic-auth/httpie/test
HTTP/1.1 401 UNAUTHORIZED
Connection: close
Content-Length: 0
Date: Wed, 10 Apr 2013 16:49:10 GMT
Server: gunicorn/0.16.1
Www-Authenticate: Basic realm="Fake Realm"
Fügte dies zu ~/.netrc
:
machine httpbin.org
login httpie
password test
Und es wird abgeholt:
$ http httpbin.org/basic-auth/httpie/test
HTTP/1.1 200 OK
Connection: close
Content-Length: 47
Content-Type: application/json
Date: Wed, 10 Apr 2013 16:49:23 GMT
Server: gunicorn/0.16.1
{
"authenticated": true,
"user": "httpie"
}
Sie können auch das Flag --verbose
, um festzustellen, ob HTTPie Authorization: Basic xxxxxx
sendet.
Tatsächlich können Sie $ python -m netrc
ausführen, um zu sehen, wie Ihr ~/.netrc
vom Modul netrc
aus Pythons Standardbibliothek verstanden wird .
Ich habe eine Pull-Anfrage geöffnet, um die Readme-Datei mit einem kurzen Beispiel zu ändern.
Nur um nachzufolgen, hatte ich keinen Wert neben einem der login
-Felder in meinem .netrc
, der Python nur zu stören schien. curl
aus irgendeinem Grund kein Problem damit.
Hilfreichster Kommentar
Tatsächlich können Sie
$ python -m netrc
ausführen, um zu sehen, wie Ihr~/.netrc
vom Modulnetrc
aus Pythons Standardbibliothek verstanden wird .