一、requests介绍
requests是基于Python开发的HTTP 库,requests是在urllib的基础上进行了高度的封装,它不仅继承了urllib的所有特性,而且还支持一些其它的特性,比如使用Cookie保持会话、自动确定响应内容的编码等,可以轻而易举地完成浏览器的任何操作。用的比较多的类有:
🎈 requests.Request:用于请求发送到服务器
🎈 requests.Response:服务器对HTTP请求的响应,可以返回响应码、请求头、请求url,JSON格式的结果等
🎈 requests.Session:保持会话,提供Cookie持久性、连接池和配置
二、request安装
🎈terminal输入pip install requests
安装后可能会提示: You are using pip version 10.0.1, however version 20.2.3 is available.
You should consider upgrading via the ‘python -m pip install --upgrade pip’ command.
输入python -m pip install --upgrade pip即可更新。再次输入pip install requests安装requests
三、示例代码
host也可以封装后导入使用,可以自己封装一下
import requests
class RequestUtil:
def __int__(self):
self.session = requests.session()
def request(self , method , url, params=None, **kwargs):
"""
请求通用工具类
:param method:
:param url:
:param params:
:param headers:
:param content_type:
:return:
"""
try:
#判断请求方法
if method == "get":
result = requests.get(url=url, params=params, headers=headers).json()
elif method == "post":
if content_type == "application/json":
# 还可以针对文件上传再进行封装
result = self.session.post(url=url, json=params, headers=headers).json()
else:
result = self.session.post(url=url, data=params, headers=headers).json()
elif method == "其他的请求方式":
put、delete等请求方式
else:
print("请求方式错误")
return result
except Exception as e:
print("http请求报错:%s"%e)
if __name__ == '__main__':
#post请求 创建一个实例r
url = "https://host/地址1"
r = RequestUtil()
data = {"phone": "13511111111", "pwd": "111111"}
content_type = {"Content-Type": "application/x-www-form-urlencoded"}
response = r.request(url, 'post', params=data, content_type=content_type)
print(response)
#get请求 创建一个实例login
login = RequestUtil()
url = "https://https://host/地址2"
data = {"car_id": 38}
response = login.request(url, "get", params=data)
print(response)
1700

被折叠的 条评论
为什么被折叠?



