📜  Python -HTTP请求(1)

📅  最后修改于: 2023-12-03 15:04:03.724000             🧑  作者: Mango

Python - HTTP请求

Python是一种非常流行的编程语言, 用于许多应用程序. 之前, 在Python中使用HTTP请求涉及繁琐的手动操作. 然而, 现在有几个可用的库, 能够使Python HTTP请求变得非常简单.

引入模块

要发送HTTP请求, 首先需要在Python代码中引入适当的模块. 常用的模块有urllibrequests. 我们将着重讨论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)
处理JSON响应

许多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请求的代码量, 使其易于维护和管理.