Solicitações - Trabalhando com Solicitações
Neste capítulo, vamos entender como trabalhar com o módulo de requisições. Veremos o seguinte -
- Fazendo solicitações HTTP.
- Passando parâmetros para solicitações HTTP.
Fazendo solicitações HTTP
Para fazer uma solicitação Http, precisamos primeiro importar o módulo de solicitação conforme mostrado abaixo -
import requests
Vamos ver agora como fazer uma chamada para URL usando o módulo de solicitações.
Deixe-nos usar o URL - https://jsonplaceholder.typicode.com/users no código, para testar o Módulo de Solicitações.
Exemplo
import requests
getdata = requests.get('https://jsonplaceholder.typicode.com/users')
print(getdata.status_code)
O url - https://jsonplaceholder.typicode.com/usersé chamado usando o método requests.get (). O objeto de resposta da URL é armazenado na variável getdata. Quando imprimimos a variável, ela fornece o código de resposta 200, o que significa que obtivemos a resposta com sucesso.
Resultado
E:\prequests>python makeRequest.py
<Response [200]>
Para obter o conteúdo da resposta, podemos fazer isso usando getdata.content como mostrado abaixo -
Exemplo
import requests
getdata = requests.get('https://jsonplaceholder.typicode.com/users')
print(getdata.content)
getdata.content, imprimirá todos os dados disponíveis na resposta.
Resultado
E:\prequests>python makeRequest.py
b'[\n {\n "id": 1,\n "name": "Leanne Graham",\n "username": "Bret",\n
"email": "[email protected]",\n "address": {\n "street": "Kulas Light
",\n "suite": "Apt. 556",\n "city": "Gwenborough",\n "zipcode": "
92998-3874",\n "geo": {\n "lat": "-37.3159",\n "lng": "81.149
6"\n }\n },\n "phone": "1-770-736-8031 x56442",\n "website": "hild
egard.org",\n "company": {\n "name": "Romaguera-Crona",\n "catchPhr
ase": "Multi-layered client-server neural-net",\n "bs": "harness real-time
e-markets"\n }\n }
Passando parâmetros para solicitações HTTP
Apenas solicitar o URL não é suficiente, também precisamos passar parâmetros para o URL.
Os parâmetros são geralmente passados como par chave / valor, por exemplo -
https://jsonplaceholder.typicode.com/users?id=9&username=Delphine
Portanto, temos id = 9 e username = Delphine. Agora, veremos como passar esses dados para o módulo Http de solicitações.
Exemplo
import requests
payload = {'id': 9, 'username': 'Delphine'}
getdata = requests.get('https://jsonplaceholder.typicode.com/users',
params = payload)
print(getdata.content)
Os detalhes são armazenados na carga útil do objeto no par chave / valor e passados para params, dentro do método get ().
Resultado
E:\prequests>python makeRequest.py
b'[\n {\n "id": 9,\n "name": "Glenna Reichert",\n "username": "Delphin
e",\n "email": "[email protected]",\n "address": {\n "street":
"Dayna Park",\n "suite": "Suite 449",\n "city": "Bartholomebury",\n
"zipcode": "76495-3109",\n "geo": {\n "lat": "24.6463",\n
"lng": "-168.8889"\n }\n },\n "phone": "(775)976-6794 x41206",\n "
website": "conrad.com",\n "company": {\n "name": "Yost and Sons",\n
"catchPhrase": "Switchable contextually-based project",\n "bs": "aggregate
real-time technologies"\n }\n }\n]'
Agora estamos obtendo os detalhes dos detalhes id = 9 e username = Delphine na resposta.
Se você quiser ver como fica a URL depois de passar os parâmetros, usando o objeto de resposta para a URL.
Exemplo
import requests
payload = {'id': 9, 'username': 'Delphine'}
getdata = requests.get('https://jsonplaceholder.typicode.com/users',
params = payload)
print(getdata.url)
Resultado
E:\prequests>python makeRequest.py
https://jsonplaceholder.typicode.com/users?id=9&username=Delphine