- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何使用 python 获取 HTTP 尾部响应 header ?我正在使用 requests.get
,但无法获取某些 X-Content-Type 或 X-Status。但是,当我将 curl
与 -i
一起使用时,我得到了这些响应。我需要发送特定的 header 或参数吗?我尝试发送 TE: trailers
但它似乎没有做任何事情。
一些示例代码:
import requests
url = "some_api_endpoint"
params = {"param1": "val1"}
headers = {"Accept": "application/json", "TE": "trailers"}
response = requests.get(url, params=params, headers=headers, verify=False)
print("Status: {}".format(response.status_code))
print("Content: {}".format(response.content.decode('utf-8')))
print("Headers: {}".format(response.headers))
print("Reason: {}".format(response.reason))
输出:
Status: 200
Content:
Headers: {'Connection': 'close', 'Content-Type': 'application/json', 'Transfer-Encoding': 'chunked'}
Reason: OK
curl 命令
curl -k -i <url>?<params> -H 'Accept: application/json'
输出:
TP/1.1 200 OK
Connection: close
Content-Type: application/json
Transfer-Encoding: chunked
X-Status: Some Error
我想从 python 中获取 Some Error
或者甚至是标题 X-Status
。基本上从服务器获得了 200 并且在流式传输一些响应时,它在中间遇到错误,导致错误。不幸的是,我无法在 python 中轻松获取此消息。
最佳答案
来自 https://www.python.org/dev/peps/pep-0444/#request-trailers-and-chunked-transfer-encoding
Request Trailers and Chunked Transfer Encoding
When using chunked transfer encoding on request content, the RFCs allow there to be request trailers. These are like request headers but come after the final null data chunk. These trailers are only available when the chunked data stream is finite length and when it has all been read in. Neither WSGI nor Web3 currently supports them.
关于requests 库,没有比这更好的了:
如前所述,Trailers 是一种很少使用的 HTTP 功能。
实现起来非常复杂(因为您必须确保不在此处解析任何会改变正文大小的 header ,例如 Content-Length 和 Transfer-encoding)。
所以现在很少有实现尾部的解析器,而且很少出现在 HTTP 消息中(但你有一个,为你感到难过:-))。
关于Python 获取 http 预告片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66898119/
如何使用 python 获取 HTTP 尾部响应 header ?我正在使用 requests.get,但无法获取某些 X-Content-Type 或 X-Status。但是,当我将 curl 与
目前是否有任何浏览器支持访问 HTTP/2 响应中的预告片? 例如,最新的 Fetch API 规范提到预告片是通过 Response.trailer 公开的。有支持的浏览器吗? 最佳答案 您可以在
我有一个静态辅助方法,负责从我们的 Rails 应用程序中获取压缩的 JSON 字符串,并在返回 String 表示之前解压缩数据。 我编写了两个 JUnit 测试,一个测试 JSON 是否正确解析,
基本上我的响应头包含 传输编码=分块, Trailer=[我想发送的一些预告片,例如“SomeTrailer”] 一旦我将数据写入 Servlet 输出流,我就开始编写预告片“SomeTrailer:
我正在尝试使用 node-fetch 发出请求在我的 typescript 项目中,我不明白如何修复编译错误或它实际上试图告诉我什么。 我已将所有包(包括全局 typescript 包)更新到最新版本
我是一名优秀的程序员,十分优秀!