requests.get()解析
1、requests.get(url, params=None, headers=None, cookies=None, auth=None, timeout=None)
Sends a GET request. Returns Response object. 发送GET请求。 返回Response对象。
Parameters:
- url – URL for the new Request object. 请求对象的URL地址
- params – (optional) Dictionary of GET Parameters to send with the Request. (可选)使用字典作为GET请求的参数。
- headers – (optional) Dictionary of HTTP Headers to send with the Request. (可选)使用字典作为GET请求的headers信息。
- cookies – (optional) CookieJar object to send with the Request. (可选)使用CookieJar对象发送GET请求。
- auth – (optional) AuthObject to enable Basic HTTP Auth. (可选)AuthObject启用基本HTTP身份验证
- timeout – (optional) Float describing the timeout of the request. (可选)请求超时的设置,用浮点数表示。
2. requests.request() 方法参数
request() 源码中,对request() 传入三个参数 method, url, **kwargs,request() 方法构造参数并将信息发送给了Request(),
真正调用的路径:request(method, url, **kwargs) -> session.request(method=method, url=url, **kwargs) ->req = Request(method=method.upper(), url=url, headers=headers, files=files, data=data or {}, json=json, params=params or {}, auth=auth, cookies=cookies, hooks=hooks, )
Request() 方法对参数进行初始化后,返回给 req 对象。
request(method, url, **kwargs) 参数解释:
- method:新的Request 对象的请求方法
- url:新的Request 对象请求的地址
- **kwargs 可接受多个参数的表示,可能传入的参数有以下:
- params:可选,类型可以是 字典、元组列表或字节序列
- data:可选,类型可以是 字典,元组列表,字节,或文件对象,放在Request 请求的body正文中进行发送
- json:可选,一个JSON序列化的python对象,放在Request 请求的body正文中进行发送
- headers:可选,与 Request 请求一起发送的头部信息,字典类型
- cookies:可选,与 Request 请求一起发送的字典或CookieJar对象
- files:可选,文件对象,有多种组织形式,例如:字典,“name”: "name': file-like-objects" 或者 {'name': file-tuple},其中 file-tuple 可以是二元组('filename', fileobj)
或者三元组 ('filename', fileobj, 'content_type'), 或者四元组 ('filename', fileobj, 'content_type', custom_headers),,其中 content_type 是字符串,定义了文件内容和头部信息的类型。
- auth:可选,身份验证,以元组的形式传参,以启用基本/摘要/自定义的HTTP验证。
- timeout:可选,超时,在服务器响应之前进行等待,可以是一个浮点数,也可以用元组表示,如(5.1, 5.4),第一个是连接服务器的超时等待时间,第二个是读取的超时等待时间。
- allow_redirects:可选,布尔值,默认 True, 启用/禁用GET / OPTIONS / POST / PUT / PATCH / DELETE / HEAD重定向
- proxies:可选,字典类型,将协议与代理地址映射
- verify:(校验),可选,vefify 可以是布尔值,默认是 True,仅应用于主机证书,控制是否对服务器的TLS证书;也可以是字符串,这种情况下,verify 传入 CA_BUNDLE 文件的路径,或者包含可信任 CA 证书文件的文件夹路径。
- stream:可选,立即下载响应内容的开关,默认是 True,不打开。
- cert:可选,用来指定一个本地证书用作客户端证书,值可以是string类型,是为为ssl客户端证书文件(.pem)的路径(包含密钥和证书),
例如:requests.request('GET', "URL", cert='/wrong_path/client.pem' )
也可以是元组(包含两个文件的路径),格式如 requests.request('GET', 'URL', cert=('/path/client.cert', '/path/client.key'))
request 返回一个 Response 对象,requests.Response
您对以上内容有何建议或意见,请写下来告诉我,谢谢!!!