[英]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.