Python中的requests函数:发送HTTP请求和处理响应数据
发布时间:2023-06-17 21:41:16
Python中的requests函数是一个用于发送HTTP请求和处理响应数据的库。这个库可以轻松地向网络中的服务器发送请求并接收响应。requests库已经成为Python中处理HTTP请求最流行的库之一。
使用requests库,可以轻松地发送HTTP请求,包括GET、POST、PUT、DELETE和HEAD请求等,还可以发送带有数据的请求和处理URL参数。同时,requests库还支持SSL证书验证、HTTP代理、cookie和会话管理等。
对于处理响应数据,requests库可以处理文本、JSON和二进制响应数据,还可以处理状态码、响应头、重定向等。
下面是使用Python中requests库发送HTTP请求和处理响应数据的示例:
发送GET请求:
import requests url = 'https://www.example.com' response = requests.get(url) print(response.text) # 打印响应文本
发送POST请求:
import requests
url = 'https://www.example.com'
data = {'username': 'user', 'password': 'pass'}
response = requests.post(url, data=data)
print(response.text) # 打印响应文本
发送带有参数的请求:
import requests
url = 'https://www.example.com'
params = {'key1': 'value1', 'key2': 'value2'}
response = requests.get(url, params=params)
print(response.url) # 打印请求的URL
处理JSON响应数据:
import requests url = 'https://api.github.com/users/octocat' response = requests.get(url) data = response.json() print(data['name']) # 打印JSON中name的值
处理二进制响应数据:
import requests
url = 'https://www.example.com/image.png'
response = requests.get(url)
with open('image.png', 'wb') as f:
f.write(response.content) # 将响应二进制数据写入文件
处理重定向:
import requests
url = 'http://example.com'
response = requests.get(url)
if response.history:
print("Request was redirected")
for resp in response.history:
print(resp.status_code, resp.url)
print("Final destination:")
print(response.status_code, response.url)
else:
print("Request was not redirected")
requests库是Python中非常方便的发送HTTP请求和处理响应数据的库,它简化了工作流程,同时扩展了Python用于网络访问的能力。使用requests库,开发者可以轻松地处理诸如网页抓取、API调用等任务。
