【问题标题】:Python requests add extra headers to HTTP GETPython 请求向 HTTP GET 添加额外的标头
【发布时间】:2017-02-24 23:45:40
【问题描述】:

我正在使用 python 2.7 请求模块。

我使用下面的自定义标头制作了这个 HTTP GET;

header ={
            "projectName": "zhikovapp",
            "Authorization": "Bearer HZCdsf="
        }
response = requests.get(bl_url, headers = header)

服务器返回一个无效的响应。在仔细检查发送的标头后,我发现 python 请求模块添加了一些额外的标头。

{
'Accept-Encoding': 'gzip, deflate', 
'projectName': 'zhikovapp',
'Accept': '*/*', 
'User-Agent': 'python-requests/2.11.1', 
'Connection': 'keep-alive', 
'Authorization': 'Bearer HZCdsf='
}

额外的标题是Accept-EncodingAcceptConnectionUser-Agent。这是python请求模块中的错误吗?我正在使用 2.11.1 版的请求

如何删除这些由 python 请求模块添加的额外标头?

【问题讨论】:

  • 这不是错误。 HTTP-Requests 通常有一些标准的标头,它们总是被发送。不要删除它们。
  • 为什么响应无效?是否与无效标头有关?
  • Daniel,我使用 node.js 编写了类似的代码。这些额外的标头不存在,服务器响应 node.js 代码没有错误。
  • ' 之前怎么有"Authorization"
  • 这是一个拼写错误。你很细心。我已对问题进行了更正。

标签: python python-2.7 http-headers python-requests


【解决方案1】:

你可以做一个准备好的请求。

http://docs.python-requests.org/en/latest/user/advanced/#prepared-requests

然后你可以手动删除标题

del prepped.headers['Content-Type']

【讨论】:

    猜你喜欢
    • 2017-12-27
    • 1970-01-01
    • 2013-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-13
    • 1970-01-01
    相关资源
    最近更新 更多