使用Python的requests库发送HTTP请求和获取响应。
Python中的requests库是一种简单和优雅的HTTP请求库,可以方便地发送HTTP请求以及处理HTTP响应。作为一个Python网络请求库,它的目的是为人们提供一个易于使用的HTTP库,支持各种HTTP请求、SSL证书验证、身份验证以及cookie等特性。
requests库内置了很多常见的HTTP请求方法,如GET、POST、PUT、DELETE、PATCH等,也支持HTTP头信息、SSL证书验证、连接超时、自动重试等功能。这样,你可以编写简洁的代码来执行发起HTTP请求,再加一些异常处理就能得到完整可用的应用。
requests库的安装非常简单,使用pip命令即可快速安装:
pip install requests
requests库的使用例子:
import requests
# 发起GET请求
resp = requests.get('https://www.baidu.com')
# 获取响应内容
text = resp.text
print(text)
# 发起POST请求
data = {'username': 'admin', 'password': 'admin123'}
resp = requests.post('https://www.example.com/login', data=data)
# 获取响应状态码
status_code = resp.status_code
# 获取响应头信息
headers = resp.headers
# 获取响应内容
content = resp.content
requests库能够轻易处理请求,获取响应以及处理请求返回的结果。当然,对于不同的请求场景,我们需要使用不同的方法来发起请求和处理响应。
在使用requests库时,我们需要主要一些重要参数,在发起HTTP请求时使用:
- url:请求的URL地址
- method:请求方式,如GET、POST、PUT、DELETE、PATCH等
- params:请求的查询字符串参数
- data:请求正文
- headers:请求头部信息,如User-Agent等
- cookies:发起请求时使用的cookies
- auth:身份验证信息,包括用户名和密码等
- timeout:设置超时时间,单位秒
- allow_redirects:是否允许重定向,True或False
- proxies:代理设置
- verify:SSL验证,设置为True或False
requests库可以将HTTP响应解析成JSON格式,通过json()方法将响应体加载到一个Python字典中。同时,requests库也支持获取请求和相应对象的元数据,如状态代码、请求的url、响应头等等。例如:
import requests
# 发起GET请求
resp = requests.get('https://httpbin.org/get')
# 获取响应内容
print(resp.json())
# 获取HTTP状态码
print(resp.status_code)
# 获取请求URL
print(resp.request.url)
# 获取请求头信息
print(resp.request.headers)
# 获取响应头信息
print(resp.headers)
总之,requests库是Python网络编程中的重要组成部分,可以轻易地处理HTTP请求和响应,让我们能够更好地完成数据请求和通讯的工作。有了requests库,Python就可以跟其他编程语言的网络通讯比如Java、go、C++等并驾齐驱。
