Solicitações Python: tudo o que você precisa saber



Este blog irá guiá-lo através do módulo de solicitações python em detalhes. Você se familiarizará com as solicitações GET e POST, objetos de sessão, cookies e cabeçalhos.

As solicitações do Python acumulam quase 400.000 downloads todos os dias. Este número é evidente o suficiente para entender sobre a popularidade deste . Nos últimos anos, a linguagem de programação python se tornou a linguagem de programação mais desejada para muitos desenvolvedores. Os conceitos e bibliotecas como as solicitações são um dos muitos motivos para os desenvolvedores fazerem a transição de outras linguagens de programação para o python. Neste blog, abordaremos os seguintes tópicos:

O que são solicitações Python?

As solicitações Python foram escritas por Kenneth Reitz e licenciadas sob apache 2.0. É uma biblioteca HTTP amigável, conforme mencionado na página de documentação oficial. É fácil de usar e basicamente usado para fazer todos os tipos de solicitações HTTP. A seguir estão alguns recursos avançados que acompanham as solicitações:
  1. Manter ativo e pool de conexão
  2. Domínios e urls internacionais
  3. Sessões com persistência de cookie
  4. Verificação SSL de estilo de navegador
  5. Decodificação automática de conteúdo
  6. Autenticação básica / digest
  7. Cookies elegantes de chave / valor
  8. Descompressão automática
  9. Corpos de resposta Unicode
  10. Suporte a proxy HTTPs
  11. Uploads de arquivo multiparte
  12. Downloads de streaming
  13. Tempo limite de conexão
  14. Pedidos fragmentados
Esses são todos os recursos avançados da biblioteca de solicitações Python, vamos tentar entender por que usamos solicitações Python em primeiro lugar.

Por que usar solicitações Python?

Quando se trata de por que usamos solicitações Python? a razão é muito simples. Ao usar solicitações Python, você não precisa adicionar manualmente as consultas aos seus urls e dados de postagem com codificação de formulário. Isso torna nosso trabalho mais fácil ao fazer solicitações http de qualquer tipo.Agora que estamos familiarizados com as solicitações Python e por que as usamos em Python, vamos tentar entender como vamos instalar as solicitações em nosso projeto ou sistema.

Como instalar solicitações Python?

A parte de instalação também é muito fácil. Se você tiver a configuração do pipenv instalada em seu sistema, pode simplesmente executar o seguinte comando no terminal.

solicitações de instalação de $ pip

Isso instalará a biblioteca de solicitações em seu sistema. Existe mais uma abordagem para instalar solicitações. Se você estiver usando o pycharm, você pode adicionar solicitações no intérprete do projeto nas configurações. Ele tem a mesma finalidade que o terminal no caso de instalar a biblioteca em nosso projeto.Agora que terminamos a instalação, vamos tentar entender como faremos get e postar solicitações em python.

Como fazer solicitações Get & Post?

Get request é basicamente usado para solicitar os dados do servidor. A seguir está a sintaxe para fazer uma solicitação get.
import request res = requests.get ('url') #res é o objeto de resposta aqui.
A solicitação de postagem é usada para enviar os dados a serem processados ​​para o servidor. A seguir está a sintaxe para fazer uma solicitação de postagem.
importar solicitações de carga útil = {'chave1': 'valor1'} res = solicitações.post ('url', dados = carga útil)
Agora que sabemos como podemos fazer solicitações get e post, vamos dar uma olhada em como podemos passar parâmetros para a url usando a solicitação get.

Passando Parâmetros em um Url

Passar parâmetros em um url é tão simples quanto fazer uma solicitação get. A seguir está um exemplo para passar parâmetros para url.
import requests payload = {'key1': 'value1', 'key2': 'value2'} res = requests.get ('url', params = payload) print (res.url) # isso imprimirá o url com os parâmetros passou pela solicitação get.

Código de status

Podemos verificar o código de status também, a seguir está o código para verificar o código de status:





pedidos de importação res = requests.get ('url') print (res.status_code ())
Se o código retornar 200, significa que não há erro e que a solicitação está correta. Se fizermos uma solicitação incorreta, o código retornará um código como 404 ou 505, que gerará um erro de http.

Conteúdo de resposta

Também podemos ler o conteúdo da resposta do servidor. A biblioteca decodificará automaticamente o conteúdo do servidor.
solicitações de importação res = requests.get ('url') print (res.content)

Requests também possui um decodificador json embutido.

como implementar lista vinculada em c
pedidos de importação res = requests.get ('url') print (res.json ()) # this irá obter a resposta em um formato json

Upload de arquivo de várias partes

É muito fácil fazer upload de arquivos de várias partes usando solicitações.
importar solicitações de arquivos = {'arquivo': abrir ('nome do arquivo', 'rb')} res = solicitações.post ('url', arquivos = arquivos) imprimir (res.text)
Para enviar vários arquivos, especificaremos vários arquivos no parâmetro files.

Cookies e cabeçalhos

Podemos visualizar os cabeçalhos e cookies de resposta do servidor usando o objeto de resposta. A seguir está o código para visualizar os cabeçalhos do servidor.
solicitações de importação res = requests.get ('url') print (res.headers)
Também podemos passar cabeçalhos personalizados para o url. Vamos dar uma olhada no código.
import request headers = {'key1': 'value1'} res = requests.get ('url', headers = headers) print (res.headers)
As solicitações não mudam seu comportamento com base em cabeçalhos personalizados. Eles são simplesmente passados ​​para a solicitação final. biscoitos também pode ser visualizado usando o objeto de resposta.
solicitações de importação #para passar nossos próprios cookies, podemos usar o parâmetro cookies cookies = dict (cookies = 'trabalhando') res = requests.get ('url', cookies = cookies) print (res.text)

Os cookies são retornados em um RequestCookieJar, que atua como um dicionário, mas também oferece uma interface mais completa, adequada para uso em vários domínios ou caminhos.



Objeto de Sessão

O objeto de sessão permite que você mantenha certos parâmetros nas solicitações.
  • Persiste os cookies em todas as solicitações feitas a partir da instância da sessão
  • Usar pool de conexão urllib3
  • Aumento significativo de desempenho
  • Um objeto de sessão possui todos os métodos da API de solicitações principais
A seguir está o código para persistir alguns cookies nas solicitações.
s = requests.session () s.get ('url') res = s.get ('url') print (res.text)

Erros e exceções

A seguir estão os erros e exceções que são gerados em uma solicitação Python.
  • No caso de um problema de rede, as solicitações geram uma exceção ConnectionError.
  • Response.raise_for_status () irá gerar um erro HTTP quando houver um código de status malsucedido.
  • Se houver um tempo limite, ele gerará uma exceção de tempo limite
  • A exceção TooManyRedirects é gerada se a solicitação exceder o número configurado de número máximo de redirecionamentos.
Neste blog, discutimos o módulo de solicitações python, no qual temos vários recursos avançados. Discutimos a instalação e fazer uma solicitação get e post com o conteúdo de resposta e outros conceitos na biblioteca de solicitações em python. O módulo de solicitações Python é um dos muitos recursos extraordinários fora da caixa de linguagem de programação python . Você pode impulsionar seu aprendizado inscrevendo-se em e descobrir as possibilidades da linguagem de programação python. Tem alguma dúvida? mencioná-los na seção de comentários, entraremos em contato com você.