Usando cabeçalhos com o método get da biblioteca de solicitações Python

Respostas:

281

De acordo com a API , todos os cabeçalhos podem ser transmitidos usando orders.get:

r=requests.get("http://www.example.com/", headers={"content-type":"text"})
cwallenpoole
fonte
14
Você pode verificar o cabeçalho da solicitação http enviado por: print (r.request.headers)
nono
2
@Breedly Lugar certo, hora certa. História da minha vida: uma quantidade notável de boa sorte combinada com uma tonelada de trabalho duro.
precisa saber é o seguinte
36

Parece bem simples, de acordo com os documentos na página que você vinculou (ênfase minha).

orders.get (url, params = None, headers = None, cookies = None, auth = None, timeout = None)

Envia uma solicitação GET. Retorna o Responseobjeto.

Parâmetros:

  • url - URL para o novo Requestobjeto.
  • params - (opcional) Dicionário de parâmetros GET para enviar com o Request.
  • headers - (opcional) Dicionário de cabeçalhos HTTP para enviar com o Request.
  • cookies - (opcional) objeto CookieJar para enviar com o Request.
  • auth - (opcional) AuthObject para ativar a autenticação HTTP básica.
  • timeout - (opcional) Flutuar descrevendo o tempo limite da solicitação.
John Flatness
fonte
3
Obrigado, mas eu realmente não sei muito sobre a sintaxe do Python. Apenas meio que aprendendo. Da próxima vez, finja que não sei nada e li a API como o cara acima.
Breedly
2
Não é erro de digitação no link da documentação ou o link está morto, aqui é o novo docs.python-requests.org/en/latest/api
Mutant
28

Esta resposta me ensinou que você pode definir cabeçalhos para uma sessão inteira:

s = requests.Session()
s.auth = ('user', 'pass')
s.headers.update({'x-test': 'true'})

# both 'x-test' and 'x-test2' are sent
s.get('http://httpbin.org/headers', headers={'x-test2': 'true'})

Bônus: As sessões também lidam com cookies.

Cees Timmerman
fonte