(这是this one)的后续问题
如何告诉urllib3
记录完整请求,包括但不限于:
我无法通过OAuth连接到LinkedIn(类似的实施适用于Google和Facebook),我希望看到完全正在发送的请求。我怀疑没有提供auth_token
,但我需要确认一下。为此,我需要urllib3
来显示完整的请求,因为它们是通过HTTPS而我无法分析网络流量以查看它们(端到端加密)。
答案 0 :(得分:2)
您可以使用PreparedRequest
访问者访问请求后实际发送的request
对象,例如print dir(r.request)
。
答案 1 :(得分:0)
您可以入侵requests
hooks system,然后使用它来跟踪回复及其请求:
from requests import hooks
_orig_default_hooks = hooks.default_hooks
def my_default_hooks():
hooks = _orig_default_hooks()
hooks['response'].append(response_hook)
return hooks
hooks.default_hooks = my_default_hooks
# requests.models is imported by the requests package, so we need to ensure it's reference
# to default_hooks is updated too.
import requests.models
requests.models.default_hooks = my_default_hooks
def response_hook(r, **kw):
req = r.request
print req.headers
为每个创建的请求调用reqeuests.hooks.default_hooks()
函数,通过注入您自己的response
事件挂钩,您可以看到收到的每个响应。回复具有.request
属性,即PreparedRequest
个实例,您可以在其中找到.headers
和.body
属性供您检查。