【问题标题】:How to send the same header twice with python requests [duplicate]如何使用python请求两次发送相同的标头[重复]
【发布时间】:2021-03-30 16:35:45
【问题描述】:

我想用 python 请求两次发送相同的标头参数。有可能吗?

当我尝试执行以下请求时,python 的请求库会忽略传递的标头之一,即使以不同的情况发送它:

例子:

import requests

url = "http://www.example.com"

headers = {"test":"test1", 
           "Test":"test2"}

req = requests.get(url, headers=headers)

print(req.request.headers)

【问题讨论】:

标签: python python-requests


【解决方案1】:

HTTP header names are not case-sensitive,所以requests 可以正确处理这个问题。 requests' 文档中有时也会提到字典中的键不区分大小写,例如 Session.headersResponse.headers

【讨论】:

    【解决方案2】:

    requests 将请求标头存储在一个字典中,这意味着每个标头只能出现一次(+ 不区分大小写)。因此,如果不对请求库本身进行更改,就不可能发送多个具有相同名称的标头。

    【讨论】:

    • A dict 区分大小写,因此您的“答案”(这是由 dict 的行为引起的)是错误的,不足以解释基于 requests 的行为HTTP 协议对标头不区分大小写的要求。
    猜你喜欢
    • 2020-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-15
    • 2016-10-25
    • 1970-01-01
    相关资源
    最近更新 更多