使用Python库requests发送HTTP请求

66 阅读2分钟

huake_00193_.jpg是一种非常便捷且常用的方式,尤其适合网络爬虫、API调用等场景。requests库简化了HTTP请求的处理,使得开发者能够轻松发送GET、POST、PUT、DELETE等各种类型的HTTP请求,并处理响应。下面将详细介绍如何使用requests库发送HTTP请求。

首先,需要确保requests库已经安装。在命令行中运行以下命令即可安装:

bash复制代码

 pip install requests

安装完成后,可以开始使用requests库发送HTTP请求。以下是一个发送GET请求的示例:

python复制代码

 import requests
  
 # 发送GET请求
 response = requests.get('api.example.com/data')
  
 # 检查响应状态码
 status_code = response.status_code
 print(f'Status Code: {status_code}')
  
 # 获取响应内容
 content = response.content # 返回字节类型的数据
 text = response.text # 返回字符串类型的数据
 json_data = response.json() # 尝试将响应内容解析为JSON格式
  
 # 打印响应内容
 print(f'Content: {content.decode()}') # 如果使用content,需要解码为字符串
 print(f'Text: {text}')
 print(f'JSON Data: {json_data}')

对于POST请求,通常需要传递一些数据。例如,向一个API发送表单数据或JSON数据:

python复制代码

 # 发送POST请求,传递表单数据
 data = {'key1': 'value1', 'key2': 'value2'}
 response = requests.post('api.example.com/submit', data=data)
  
 # 发送POST请求,传递JSON数据
 json_data = {'key1': 'value1', 'key2': 'value2'}
 response = requests.post('api.example.com/submit', json=json_data)
  
 # 处理响应
 print(f'POST Response Status Code: {response.status_code}')
 print(f'POST Response Text: {response.text}')

在实际应用中,还可能需要处理HTTP请求的各种头部信息(Headers)、查询参数(Params)、身份验证(Auth)等。requests库提供了灵活的方式来设置这些参数,例如:

python复制代码

 # 设置请求头
 headers = {'Authorization': 'Bearer your_token_here'}
 response = requests.get('api.example.com/protected', headers=headers)
  
 # 设置查询参数
 params = {'param1': 'value1', 'param2': 'value2'}
 response = requests.get('api.example.com/search', params=params)

requests库不仅简化了HTTP请求的处理,还提供了丰富的异常处理机制,如requests.exceptions.RequestException,使得开发者能够优雅地处理网络请求中的各种问题。通过灵活使用requests库,可以高效地实现各种网络交互功能。