就我而言,我正在使用该requests
库通过HTTPS调用PayPal的API。不幸的是,我从贝宝(PayPal)收到一个错误,贝宝(PayPal)支持人员无法弄清楚该错误是什么或由什么引起的。他们希望我“请提供整个请求,包括标头”。
我怎样才能做到这一点?
一种简单的方法:启用登录最新版本的请求(1.x及更高版本)。
请求用途http.client和logging模块配置到控制日志记录级别,如所描述这里。
示范
摘自链接文档的代码:
import requests
import logging
# These two lines enable debugging at httplib level (requests->urllib3->http.client)
# You will see the REQUEST, including HEADERS and DATA, and RESPONSE with HEADERS but without DATA.
# The only thing missing will be the response.body which is not logged.
try:
import http.client as http_client
except ImportError:
# Python 2
import httplib as http_client
http_client.HTTPConnection.debuglevel = 1
# You must initialize logging, otherwise you'll not see debug output.
logging.basicConfig()
logging.getLogger().setLevel(logging.DEBUG)
requests_log = logging.getLogger("requests.packages.urllib3")
requests_log.setLevel(logging.DEBUG)
requests_log.propagate = True
requests.get('https://httpbin.org/headers')
示例输出
$ python requests-logging.py
INFO:requests.packages.urllib3.connectionpool:Starting new HTTPS connection (1): httpbin.org
send: 'GET /headers HTTP/1.1\r\nHost: httpbin.org\r\nAccept-Encoding: gzip, deflate, compress\r\nAccept: */*\r\nUser-Agent: python-requests/1.2.0 CPython/2.7.3 Linux/3.2.0-48-generic\r\n\r\n'
reply: 'HTTP/1.1 200 OK\r\n'
header: Content-Type: application/json
header: Date: Sat, 29 Jun 2013 11:19:34 GMT
header: Server: gunicorn/0.17.4
header: Content-Length: 226
header: Connection: keep-alive
DEBUG:requests.packages.urllib3.connectionpool:"GET /headers HTTP/1.1" 200 226
问题内容: 最初,我尝试将客户端的ajax请求发布到第三方url,但似乎浏览器与此相关的安全问题。我考虑过将ajax发送到服务器端,从那里向第三方发送GET请求,获取响应并将其发送回客户端。我该如何用flask呢? 问题答案: 安装模块(比使用更好),然后定义一个发出必要请求的路由-类似于: 不过,根据你的设置,最好将你的网络服务器配置为在特定URL下将代理反向代理到目标站点。
httpx 怎么发一个 post http2 请求 curl --http2-prior-knowledge -X POST http://127.0.0.1:1313 -d 'ww$$go' 这个 curl 是有效的,但怎么使用 httpx 来实现
问题内容: 关于此问题: 将cookie从一个请求传输/传递到nodejs /protractor中的另一个请求 我又拿了一个 我如何查看通过nodejs执行的完整请求(标头+正文)? 问题答案: 是的,您可以…您可以从完整的响应正文访问完整的请求- 我有一个如下所示的通用完整响应结构 您可以通过如下代码访问
我对docker容器(它是一个与Redis数据库通信的Node.js API)发出HTTP请求时遇到问题,该容器在VM(docker Toolbox)中运行。 我已经建立了我的Dockerfile,并docker-compose.yml了所需的端口。构建它们并成功运行(“启动”)它们。 雷迪斯。js 服务器js(express.js) 我成功地构建了容器,然后使用HTTP请求服务测试GET。因为我
问题内容: 我在这里尝试做的是获取给定URL的标头,以便确定MIME类型。我希望能够查看是否http://somedomain/foo/将返回例如HTML文档或JPEG图像。因此,我需要弄清楚如何发送HEAD请求,以便无需下载内容就可以读取MIME类型。有人知道这样做的简单方法吗? 问题答案: 使用。 还有一个getheader(name)获取特定的标头。
我正在测试Firebase JSON,以检查发送到新闻应用程序的通知的送达回执。我可以成功地将消息发送到Android应用程序,没有任何问题,并且我可以在我的Android应用程序上接收消息。但是,我想知道如何以及在哪里可以检查通知是否成功发送到Android应用程序? 如何使用返回的和/或来获取通知的传递状态?我找不到使用 Firebase 检查交付状态的工作代码示例。是否有人有有效的 JSON