使用Python的requests库发送和处理HTTP请求和响应
发布时间:2024-01-17 21:32:56
requests是一个Python第三方库,用于发送和处理HTTP请求和响应。它是一个简洁而优雅的HTTP库,可以与各种Web服务进行交互。下面是一些使用requests库发送和处理HTTP请求和响应的例子:
1. 发送GET请求:
import requests
response = requests.get('https://www.example.com')
print(response.status_code) # 打印响应状态码
print(response.text) # 打印响应内容
2. 发送带有参数的GET请求:
import requests
payload = {'key1': 'value1', 'key2': 'value2'}
response = requests.get('https://www.example.com', params=payload)
print(response.url) # 打印请求的URL
print(response.json()) # 解析响应内容为JSON格式
3. 发送POST请求:
import requests
payload = {'key1': 'value1', 'key2': 'value2'}
response = requests.post('https://www.example.com', data=payload)
print(response.headers) # 打印响应头部信息
print(response.cookies) # 打印响应中的cookie
4. 发送带有文件的POST请求:
import requests
files = {'file': open('file.txt', 'rb')}
response = requests.post('https://www.example.com', files=files)
print(response.content) # 打印响应内容的二进制数据
5. 添加请求头部信息:
import requests
headers = {'User-Agent': 'Mozilla/5.0'}
response = requests.get('https://www.example.com', headers=headers)
print(response.headers) # 打印响应头部信息
6. 处理HTTP错误:
import requests
try:
response = requests.get('https://www.example.com')
response.raise_for_status() # 如果响应状态码为400以上,则抛出异常
except requests.exceptions.HTTPError as err:
print("HTTP error occurred:", err)
7. 设置超时时间:
import requests
try:
response = requests.get('https://www.example.com', timeout=5)
except requests.exceptions.Timeout:
print("Request timeout!")
这些例子展示了如何发送不同类型的HTTP请求,并对响应进行处理。requests库提供了许多功能,例如添加请求参数、处理cookie、处理重定向等等。使用requests库可以更加方便地与Web服务进行交互,从而实现各种功能和业务需求。
