- Requests 教程
- Requests - 首页
- Requests - 概述
- Requests - 环境搭建
- Requests - HTTP请求的工作原理?
- Requests - 使用Requests
- 处理HTTP请求的响应
- Requests - HTTP请求头
- Requests - 处理GET请求
- 处理POST、PUT、PATCH和DELETE请求
- Requests - 文件上传
- Requests - 使用Cookie
- Requests - 处理错误
- Requests - 处理超时
- Requests - 处理重定向
- Requests - 处理历史记录
- Requests - 使用会话
- Requests - SSL证书
- Requests - 身份验证
- Requests - 事件钩子
- Requests - 代理
- Requests - 使用Requests进行网页抓取
- Requests 有用资源
- Requests - 快速指南
- Requests - 有用资源
- Requests - 讨论
Requests - 使用Requests
本章我们将学习如何使用requests模块。我们将学习以下内容:
- 发出HTTP请求。
- 向HTTP请求传递参数。
发出HTTP请求
要发出HTTP请求,我们首先需要导入requests模块,如下所示:
import requests
现在让我们看看如何使用requests模块调用URL。
让我们在代码中使用URL - https://jsonplaceholder.typicode.com/users 来测试Requests模块。
示例
import requests getdata = requests.get('https://jsonplaceholder.typicode.com/users') print(getdata.status_code)
使用requests.get()方法调用URL - https://jsonplaceholder.typicode.com/users。URL的响应对象存储在getdata变量中。当我们打印该变量时,它会返回200响应代码,这意味着我们已成功获得响应。
输出
E:\prequests>python makeRequest.py <Response [200]>
要从响应中获取内容,我们可以使用getdata.content,如下所示:
示例
import requests getdata = requests.get('https://jsonplaceholder.typicode.com/users') print(getdata.content)
getdata.content将打印响应中所有可用的数据。
输出
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 }
向HTTP请求传递参数
仅仅请求URL是不够的,我们还需要向URL传递参数。
参数通常以键值对的形式传递,例如:
https://jsonplaceholder.typicode.com/users?id=9&username=Delphine
因此,我们有id = 9和username = Delphine。现在,我们将看看如何将此类数据传递到requests HTTP模块。
示例
import requests payload = {'id': 9, 'username': 'Delphine'} getdata = requests.get('https://jsonplaceholder.typicode.com/users', params = payload) print(getdata.content)
详细信息存储在键值对的payload对象中,并传递给get()方法中的params。
输出
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]'
我们现在正在响应中获取id = 9和username = Delphine的详细信息。
如果您想了解传递参数后URL的外观,请使用响应对象查看URL。
示例
import requests payload = {'id': 9, 'username': 'Delphine'} getdata = requests.get('https://jsonplaceholder.typicode.com/users', params = payload) print(getdata.url)
输出
E:\prequests>python makeRequest.py https://jsonplaceholder.typicode.com/users?id=9&username=Delphine
广告