📅  最后修改于: 2023-12-03 15:31:20.732000             🧑  作者: Mango
在日常开发中,我们经常需要向外部网络请求或上传数据。Python的http
请求库提供了一种简化这个过程的方式。你可以使用Python的http
请求库来进行各种类型的请求,如GET, POST等。
Python有多个常用的http
请求库可供使用(例如requests、treq等),其中requests
库是使用最多的,也是建议使用的一种。可以使用pip来安装requests库:
pip install requests
发送一个简单的GET请求,获取响应:
import requests
response = requests.get('https://www.example.com')
print(response.content)
返回内容:
b'<!doctype html>\n<html lang=en>\n <head>\n <meta charset=utf-8>\n<meta name=viewport content="width=device-width,initial-scale=1">\n <title>Example Domain</title>\n\n <link rel="stylesheet" type="text/css" href="//fonts.googleapis.com/css?family=Open+Sans:400,700">\n...
其中response.content
返回的是二进制内容。如果需要返回字符串,可以使用response.text
。
使用requests.post
方法向服务器发送POST请求,可以使用json
参数来设置请求的数据。
import requests
url = 'https://example.com/api'
data = {'username': 'admin', 'password': '123456'}
response = requests.post(url, json=data)
print(response.status_code)
返回内容:
200
向请求中添加Header信息:
import requests
headers = {'User-Agent': 'Mozilla/5.0'}
response = requests.get('https://example.com', headers=headers)
print(response.content)
替换User-Agent
为自己设定的浏览器标识。如果没有正确的User-Agent
,目标服务器将可能返回一个特殊的HTTP错误代码。
对于响应,我们通常需要做更多的操作,这与你使用的协议和服务器交互的类型有关。这里我们介绍两个常用的操作:
import requests
response = requests.get('https://example.com')
status_code = response.status_code
import requests
response = requests.get('https://example.com')
headers = response.headers
其中headers
返回一个字典,包含响应头的所有数据。
发送HTTP请求时,可能会有各种类型的错误。我们需要防止这些错误干扰我们的应用程序,因此我们需要处理这些错误。
import requests
try:
response = requests.get('https://example.com')
except requests.exceptions.RequestException as e:
print(e)
在此例中,我们将捕获所有requests.exceptions.RequestException
,并打印错误消息。
Python的http
请求库提供了一种简单有效的方式来使用Python处理http请求。通过使用requests
库,我们可以轻松地发送GET、POST请求,并处理响应结果。同时,我们可以自由地定制请求,例如添加头信息、处理错误等。