使用Python请求打印格式化的POST请求URL

时间:2013-09-11 18:00:22

标签: python python-2.7 python-requests

我有一个使用POST请求命中的远程API。我有两个脚本来完成这项工作。一个有效;另一个我需要调试。

使用requests包的工作原理更复杂,在Python中使用:

import requests
from requests.auth import HTTPBasicAuth
r = requests.post("http://thing.com/", 
                  data = {"param1": "foo"},
                  auth = HTTPBasicAuth("user@domain.com", "password"))

这很有效。另一个脚本,即CLI,在理论上确实是一个相同的怪物并且不起作用。 CLI脚本打印出它尝试使用的URL。我希望得到有用的Python脚本来告诉我正在尝试使用的地址URL。如何让requests告诉我它正在使用的完全格式化的网址?

1 个答案:

答案 0 :(得分:0)

您可以添加以下内容以打印有关所有请求的调试信息:

import logging
logging.basicConfig(level=logging.DEBUG)

您将获得类似

的输出
INFO:requests.packages.urllib3.connectionpool:Starting new HTTPS connection (1): <URL>
DEBUG:requests.packages.urllib3.connectionpool:"POST /oauth/token HTTP/1.1" 200 None

如果您想打印其他信息,可以打印出您传入的对象或执行某些请求event hooks