使用Python请求打印格式化的POST请求URL
我有一个远程API,我通过POST请求访问它。我有两个脚本来完成这项工作。一个作品;另一个我需要调试 在Python中,使用requests包工作的更为复杂:使用Python请求打印格式化的POST请求URL,python,python-2.7,python-requests,Python,Python 2.7,Python Requests,我有一个远程API,我通过POST请求访问它。我有两个脚本来完成这项工作。一个作品;另一个我需要调试 在Python中,使用requests包工作的更为复杂: 这很有效。另一个脚本,即CLI,在理论上做了相同的奇怪事情,但不起作用。CLI脚本打印出它试图使用的URL。我很想让运行中的Python脚本告诉我它要使用哪个该死的URL。如何发出请求,告诉我它使用的完全格式化的URL?您可以添加以下内容以打印出有关所有请求的调试信息: import logging logging.basicConfig
这很有效。另一个脚本,即CLI,在理论上做了相同的奇怪事情,但不起作用。CLI脚本打印出它试图使用的URL。我很想让运行中的Python脚本告诉我它要使用哪个该死的URL。如何发出请求,告诉我它使用的完全格式化的URL?您可以添加以下内容以打印出有关所有请求的调试信息:
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
如果您想打印其他信息,可以打印出您正在传递的对象或实现一些请求。r.url显示什么?而且之前没有看到querydata=这意味着数据=?确认。对我会解决这个问题-脚本使用数据参数,querydata是一个输入错误。我试过r.url,它可以打印http://thing.com/ 没有别的了。那么,你的命令行脚本是什么?是用卷曲还是什么?您已经检查它是否使用POST和相同的URL,并且是否正确地进行了身份验证?脚本使用。它正确地进行身份验证,并且基本URL与r.URL输出的基本URL相同。它没有返回正确的响应,而是没有返回提交的post数据——因此我希望了解请求是如何格式化其post数据的http://thing.com param1=foo-auser@domain.com:密码?
INFO:requests.packages.urllib3.connectionpool:Starting new HTTPS connection (1): <URL>
DEBUG:requests.packages.urllib3.connectionpool:"POST /oauth/token HTTP/1.1" 200 None