1、request和requests:是两个不同的库,都用于处理HTTP请求
request库:通常是指python标准库中urllib.request模块
requests库:requests是python的第三方库,相较来说,requests库更易于请求HTTP
2、requests库发送请求的方式:
第一层(种) : requests.post(url,data=None,json=None,**kwargs) / requests.get() / requests.put() 等其实调用的就是第二层requests.requests()方法.进而最终调用了第三层方法.
第二层(种): requests.request(method,url,**kwargs) // requests库api模块中的request()方法.
其实最终调用的就是第三层方法.每调用一次requests.request就会去实例化一次Session类
第三层(种): requests.Session().request(method,url,**kwargs) // requests库sessions.py模块中的Session类中的request()方法.
由上可以看出, requests库的几种发送请求的方式,其实最终都是调用了最底层的 requests.Session().request(method,url,**kwargs) 方法.
session会话:代表从客户端浏览器连接服务器开始,到客户端浏览器与服务器断开的过程
会话能跨请求时保持一些参数。即让同一个session对象发送的请求头携带某个指定的参数。当然,最常见的应用是它可以让cookie保持在后续的一串请求中。