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

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调用等任务。