2017-06-12 115 views
0

我試圖在請求的網頁中進行登錄。這是一個發佈請求,所以我使用字典來介紹參數。然而,要翻譯的查詢字符串很奇怪,我沒有得到任何成功傳遞給字典。翻譯查詢看起來如下:將查詢字符串轉換爲python字典中的requests.post

userid=...&password=...&submit=*Iniciar+sesi%C3%B3n&title= 

,這是造成我一些麻煩的查詢的部分是

submit=*Iniciar+sesi%C3%B3n 

我不知道如何正確地把它的字典中很好地被請求解釋。

+0

這可能是unicode問題,因爲'%C3%B3'是unicode中''的代表。 – Ding

+1

''parse_qs('submit = * Iniciar + sesi%C3%B3n')'(我假設您使用['urlparse.parse_qs']](https://docs.python.org/2.7/library/urlparse.html #urlparse.parse_qs))給我'{'submit':['* Iniciar sesi \ xc3 \ xb3n']}'。你想得到什麼? – jwodder

+0

我想這是我期待的結果。有了這個值,查詢就很好,不是嗎?我現在在我的代碼中使用它,但我仍然有最終結果的問題,所以我想我繼續在代碼中存在其他問題... 非常感謝。 –

回答

1

這不是一個完整的答案,但我不能評論由於聲譽。

我不知道如何*Iniciar+sesi%C3%B3n應該被解析,但你可以使用cgi.parse_qsurllib.parse.parse_qs到查詢字符串解析成一個字典。這將導致'submit': ['*Iniciar sesi\xc3\xb3n']條目。爲了解決這個問題,你可以編寫代碼來明確地將submit的值解析成你的代碼稍後可以使用的東西。

相關問題