看了Request源码一周,流程懂了,但是很多细节还没仔细查。
总结一下:
request.get
1.设置默认参数,allow_redirects=true,
2.进入request方法,用session.Session类持久化request
3.进入Session类,设置默认请求头,设置默认请求钩子,构造其他参数
4.构造了req,放入预请求类方法prepare_request做处理
5.处理了auth,构造Prepare_request类
6.获取公用设置,url前缀,代理proxies,流stream,是否认证ssl verify,cert证书
7.send发送请求,获得适配器adapter,用适配器发送请求
8.连接池设置,cert证书验证
9.出adapter,分发hook,构造栈保留url历史history
10.重定向处理