? ? ? ? ?Requests是Python中常用的HTTP库,它提供了方便的HTTP请求和响应处理功能。在本文中,我们将介绍Requests库的基本用法和常见应用场景。
安装Requests库
在使用Requests库之前,需要先安装它。可以使用pip命令进行安装:
pip install requests
发送HTTP请求
使用Requests库发送HTTP请求非常方便。下面是一个简单的例子:
python
import requests
response = requests.get('http://www.example.com')
print(response.text)
在这个例子中,我们使用requests.get方法发送了一个GET请求,并打印了响应内容。可以看到,我们只需要提供一个URL参数即可发送请求。
如果需要发送POST请求,可以使用requests.post方法。例如:
python
import requests
data = {'key': 'value'}
response = requests.post('http://www.example.com', data=data)
print(response.text)
在这个例子中,我们使用requests.post方法发送了一个POST请求,并提供了一个字典类型的数据。这个数据将会被编码为表单形式,并发送到服务器。
处理HTTP响应
使用Requests库发送HTTP请求后,会得到一个HTTP响应对象。这个对象包含了服务器返回的所有信息,例如状态码、响应头和响应体等。
下面是一个例子,演示如何获取HTTP响应的状态码和响应头:
python
import requests
response = requests.get('http://www.example.com')
print(response.status_code)
print(response.headers)
在这个例子中,我们使用response.status_code属性获取了HTTP响应的状态码,使用response.headers属性获取了响应头。
如果需要获取响应体,可以使用response.text属性获取文本形式的响应体,或使用response.content属性获取二进制形式的响应体。例如:
python
import requests
response = requests.get('http://www.example.com')
print(response.text)
print(response.content)
在这个例子中,我们使用response.text属性获取了文本形式的响应体,使用response.content属性获取了二进制形式的响应体。
处理HTTP错误
在使用Requests库发送HTTP请求时,可能会遇到各种HTTP错误。例如,404表示请求的资源不存在,500表示服务器内部错误等。
Requests库提供了requests.exceptions模块,用于处理HTTP错误。下面是一个例子,演示如何处理404错误:
python
import requests
try:
????response = requests.get('http://www.example.com/not_found')
????response.raise_for_status()
except requests.exceptions.HTTPError as e:
????print(e)
在这个例子中,我们使用response.raise_for_status()方法检查HTTP响应的状态码。如果状态码不是200,则会抛出HTTPError异常。
发送HTTP请求的参数
在使用Requests库发送HTTP请求时,可以提供各种参数,例如请求头、请求体和查询参数等。
下面是一个例子,演示如何发送带有查询参数的GET请求:
python
import requests
params = {'key1': 'value1', 'key2': 'value2'}
response = requests.get('http://www.example.com', params=params)
print(response.url)
在这个例子中,我们使用params参数提供了查询参数。这些参数将会被编码为URL的查询字符串,并拼接到URL后面。
如果需要发送带有请求头和请求体的POST请求,可以使用headers和data参数。例如:
python
import requests
headers = {'Content-Type': 'application/json'}
data = {'key': 'value'}
response = requests.post('http://www.example.com', headers=headers, json=data)
print(response.text)
在这个例子中,我们使用headers参数提供了请求头,使用json参数提供了请求体。这个请求体将会被编码为JSON格式,并发送到服务器。
? ? ? ?在本文中,我们介绍了Requests库的基本用法和常见应用场景。使用Requests库可以方便地发送HTTP请求和处理HTTP响应,是Python中常用的HTTP库之一。