###
http的8种请求方式:get,post,put,delete,option,trace,connect,head,
主要就是get和post,
###
request源码分析
# requests源码解析, import requests requests.get(url,) # 里面除了url参数还有什么参数? #看源码,这个get请求是取调用了request, def get(url, params=None, **kwargs): kwargs.setdefault('allow_redirects', True) return request('get', url, params=params, **kwargs) # 然后request最后是返回了session.request() def request(method, url, **kwargs): with sessions.Session() as session: return session.request(method=method, url=url, **kwargs) # 而session.request()里面有很多的参数, def request(self, method, url, params=None, data=None, headers=None, cookies=None, files=None, auth=None, timeout=None, allow_redirects=True, proxies=None, hooks=None, stream=None, verify=None, cert=None, json=None): XXX # 参数解释 # data 这是携带请求体里面的数据,字典格式, # headers 这是携带请求头,字典格式, # cookies 这是携带请求的cookies信息,字典格式, # proxies 这个是使用代理,也是字典格式, # verify 如果是https请求,把这个=FALSE,就是不校验证书,
###
分析response响应数据
import requests res = requests.get(url) print(dir(res)) #通过这个dir查看一下这个返回值,有什么方法? [ 'apparent_encoding', 'close', 'connection', 'content', 'cookies', 'elapsed', 'encoding',
'headers', 'history', 'is_permanent_redirect', 'is_redirect', 'iter_content', 'iter_lines', 'json',
'links', 'next', 'ok', 'raise_for_status', 'raw', 'reason', 'request', 'status_code', 'text', 'url'] #去掉双下划线的方法,解释一下这些方法, # content,返回一个二进制的响应内容, # cookies,打印出cookies信息, # encoding,打印出编码类型 # headers,打印出headers信息, # status_code,打印状态码 # text,打印出编码后的响应内容 # url,打印出本次请求的url,
###
####