Python获取http拖车

Python获取http拖车,python,http,python-requests,http-headers,Python,Http,Python Requests,Http Headers,如何使用python获取HTTP尾部响应头?我正在使用请求。获取,无法获取某些X-Content-Type或X-Status。但是,当我将curl与-I一起使用时,我会得到这些响应。我是否需要发送特定的标题或参数?我试着发送了TE:trailes,但似乎没有任何效果 一些示例代码: import requests url = "some_api_endpoint" params = {"param1": "val1"} headers

如何使用python获取HTTP尾部响应头?我正在使用
请求。获取
,无法获取某些X-Content-Type或X-Status。但是,当我将
curl
-I
一起使用时,我会得到这些响应。我是否需要发送特定的标题或参数?我试着发送了
TE:trailes
,但似乎没有任何效果

一些示例代码:

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
TP/1.1 200 OK
Connection: close
Content-Type: application/json
Transfer-Encoding: chunked

X-Status: Some Error
curl命令

curl -k -i <url>?<params> -H 'Accept: application/json'
我想从python中获取上面的
Some Error
,甚至是标题
X-Status
。基本上从服务器获得了200,而流的一些响应,它在中间命中错误,造成错误。不幸的是,我无法用python轻松获得此消息。

来自

请求跟踪和分块传输编码

当对请求内容使用分块传输编码时,RFC允许存在请求拖车。它们类似于请求头,但位于最后一个空数据块之后。这些预告片仅在分块数据流长度有限且已全部读入时可用WSGI和Web3目前都不支持它们。

关于请求库,没有比这更好的了:

如前所述,有一个很少使用的HTTP函数性

很好地实现它是相当复杂的(因为您必须确保在这里不解析任何会改变正文大小的头,比如内容长度和传输编码)


因此,现在很少有解析器实现预告片,HTTP消息中出现的事件也很少(但您有一个,为您感到抱歉:-)。

您想知道如何访问发送的头,还是在响应中缺少头?很抱歉,不清楚。我想以某种方式从回复中提取它们。在
响应.headers中找不到它们。假设
response
是请求。get()对象,则它们丢失,服务器未发送它们。为什么不能用您提供的信息来说明呢?但是如上所述,使用curl执行相同的url和参数,以及
-i
标志将获得我想要的信息。所以我很困惑为什么我不能从python的请求中得到它。curl发送的不同之处是什么?您必须提供一些允许我们调试问题的细节:代码、请求、响应数据、curl命令和输出。。。