- O que são solicitações Python?
- Por que usar solicitações Python?
- Como instalar solicitações Python?
- Fazendo solicitações de obtenção e postagem
- Passando Parâmetros no URL
- Código de status
- Conteúdo de resposta
- Upload de arquivo de várias partes
- Cookies e cabeçalhos
- Objeto de Sessão
- Erros e exceções
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:- Manter ativo e pool de conexão
- Domínios e urls internacionais
- Sessões com persistência de cookie
- Verificação SSL de estilo de navegador
- Decodificação automática de conteúdo
- Autenticação básica / digest
- Cookies elegantes de chave / valor
- Descompressão automática
- Corpos de resposta Unicode
- Suporte a proxy HTTPs
- Uploads de arquivo multiparte
- Downloads de streaming
- Tempo limite de conexão
- Pedidos fragmentados
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
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.