📅  最后修改于: 2023-12-03 15:04:03.724000             🧑  作者: Mango
Python是一种非常流行的编程语言, 用于许多应用程序. 之前, 在Python中使用HTTP请求涉及繁琐的手动操作. 然而, 现在有几个可用的库, 能够使Python HTTP请求变得非常简单.
要发送HTTP请求, 首先需要在Python代码中引入适当的模块. 常用的模块有urllib
和requests
. 我们将着重讨论requests
模块, 这是比较新、功能强大的HTTP处理库.
import requests
使用requests
模块发送HTTP请求非常简单. 首先, 我们需要指定请求类型以及要请求的URL.
response = requests.get('http://example.com/')
在这个例子中, 我们使用get()
方法向一个URL发送请求. get()
方法也可以使用其他可选参数, 比如params
, 来发送附加的查询参数.
payload = {'key1': 'value1', 'key2': 'value2'}
response = requests.get('http://example.com/', params=payload)
发送请求后, 请求对象会返回一个响应对象. 这个响应对象包含许多有用的属性, 比如状态码, 响应头和响应内容.
print(response.status_code)
print(response.headers)
print(response.content)
许多API将回复响应以JSON格式返回. 在这种情况下, 可以使用json()
方法来解析响应内容.
response = requests.get('http://example.com/api/data')
json_data = response.json()
使用requests
库可以轻松地提交表单数据.
payload = {'username': 'foo', 'password': 'bar'}
response = requests.post('http://example.com/login', data=payload)
如果需要上传文件, 可以使用files
参数.
url = 'http://example.com/upload'
files = {'file': open('file.txt', 'rb')}
response = requests.post(url, files=files)
有时需要添加自定义请求头到HTTP请求中.
url = 'http://example.com'
headers = {'Authorization': 'Bearer mytoken', 'Content-Type': 'application/json'}
response = requests.get(url, headers=headers)
Pythonrequests
模块是一个非常方便且易于使用的HTTP库. 无论是发送简单请求、上传文件还是提交表单数据, 它都提供了相应的方法. 通过使用requests
库, 我们可以减少编写HTTP请求的代码量, 使其易于维护和管理.