欢迎访问宙启技术站
智能推送

使用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服务进行交互,从而实现各种功能和业务需求。