O README diz "As informações de autorização de .netrc
são respeitadas", mas não está claro como isso é feito. O README deve ser atualizado para explicar isso. Eu enviaria um PR, mas ainda não consigo descobrir. Não tão fácil quanto curl -n
.
Por enquanto, o HTTPie sempre tenta ler o arquivo ~/.netrc
padrão (ou ~/_netrc
no Windows). Na verdade, é a biblioteca python-requests
subjacente que faz isso.
Hm ... Eu tenho um arquivo ~/.netrc
que funciona perfeitamente bem com curl
, mas parece ser completamente ignorado pelo HTTPie.
Aqui está um exemplo prático:
Sem ~/.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"
Adicionado a ~/.netrc
:
machine httpbin.org
login httpie
password test
E é recolhido:
$ 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"
}
Você também pode definir o sinalizador --verbose
para ver se HTTPie envia Authorization: Basic xxxxxx
.
Na verdade, você pode executar $ python -m netrc
para ver como seu ~/.netrc
é compreendido pelo módulo netrc
da biblioteca padrão do Python .
Abri uma solicitação pull para modificar o leia-me com um breve exemplo disso.
Só para acompanhar, não havia nenhum valor próximo a um dos login
campos em meu .netrc
que parecia apenas incomodar o Python. curl
por algum motivo não tive problemas com isso.
Comentários muito úteis
Na verdade, você pode executar
$ python -m netrc
para ver como seu~/.netrc
é compreendido pelo módulonetrc
da biblioteca padrão do Python .