簡體   English   中英

Python 請求選項將參數轉換為“&”

[英]Python requests option converts params to "&"

我正在嘗試在 requests.get() 上設置參數,網址正在將 & 設置為 & 並且該站點似乎拒絕了該請求。

這是我的示例代碼:

payload = {'key1': 'value1', 'key2': 'value2'}
r = requests.get('https://httpbin.org/get', params=payload)
print(r.url)
https://httpbin.org/get?key1=value1&key2=value2

期待:

https://httpbin.org/get?key1=value1&key2=value2

我的 Requests 庫的設置和版本不符合您所說的設置。 當我運行你的代碼時,我得到的輸出是:

https://httpbin.org/get?key1=value1&key2=value2

特別有趣的是,這個示例代碼直接來自庫自己的文檔:

https://requests.readthedocs.io/en/master/user/quickstart/#passing-parameters-in-urls

就在那里,它們顯示了您應該從這段代碼中得到什么:

>>> print(r.url)
https://httpbin.org/get?key2=value2&key1=value1

有點奇怪的是,在他們的版本中,這兩個參數的順序是相反的,但是由於地圖暗示其內容沒有排序,我認為這沒關系。 這與我得到的相同......沒有編碼的&符號。

那么,為什么您會得到帶有與號編碼的結果,我不能說,但似乎不知何故,您的配置不同於通常的配置,因為您得到的結果不同於通常的結果。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM