【问题标题】:Requests prepare url, value wrong请求准备 url,值错误
【发布时间】:2021-10-03 01:34:19
【问题描述】:

在发送我的请求之前,我使用 Request 中的 prepare() 来准备 url。但是函数返回的值不正确。就像你可以看到参数 codif= 我发送一个值列表,结果必须是 codif=7,110 但请求返回我这个 codif%3D=7%2C110 实际上是行不通的。

你有什么办法解决这个问题吗?

from requests import Request

dict_data = {
    'note':['716'],
    'codif':[7, 110]}

request_parameters = {
                'note=' : dict_data['note'],
                'codif=' : ','.join([str(i) for i in dict_data['codif']]),
            }
p = Request('GET', "https://test.intranert.com/api/light?", params=request_parameters).prepare()
p.url

输出:'https://test.intranert.com/api/light?note%3D=716&codif%3D=7%2C110'

期望:'https://test.intranert.com/api/light?note=716&codif=7,110'

谢谢,

【问题讨论】:

    标签: python string request format


    【解决方案1】:

    那是因为浏览器通过其在 ASCII 表键码中的十六进制表示形式对 URL 输入进行编码。看一下this:如你所见,逗号的十六进制是2C,所以没问题。

    【讨论】:

    • 你好,是的,完美!谢谢
    • 很高兴能提供帮助。如果我的回答有帮助,您应该将其标记为已接受。
    猜你喜欢
    • 2013-06-01
    • 2022-11-25
    • 2014-12-11
    • 2019-11-20
    • 1970-01-01
    • 1970-01-01
    • 2018-02-24
    • 2017-02-03
    • 2020-02-29
    相关资源
    最近更新 更多