1. 程式人生 > >Python post中文引數傳遞出錯的一種解決辦法

Python post中文引數傳遞出錯的一種解決辦法

引數例項:

values = {"json":{
                "name": "張三",
                "number":"一號"
                }
        }


兩種方法對比程式示例:

#coding=utf-8

import urllib

a = urllib.quote('張三')
b = urllib.quote('一號')

print "先將‘張三’進行urlencode編碼為:",a 
print "先將‘一號’進行urlencode編碼為:",b 

data1 = {"json":{							#方法1,直接放入中文
                "name": "張三",
                "number":"一號"
                }
        }
data1 = urllib.urlencode(data1)             
print "直接將中文放入引數後實際所傳遞的引數:\n",data1


data2 = {"json":{							#方法2,間接放入中文
                "name": "%E5%BC%A0%E4%B8%89",  #代替張三
                "number":"%E4%B8%80%E5%8F%B7"   #代替一號
                }
        }
data2 = urllib.urlencode(data2)
print "先將中文編碼後代入,實際所傳遞的引數:\n",data2

程式執行結果:

先將‘張三’進行urlencode編碼為: %E5%BC%A0%E4%B8%89
先將‘一號’進行urlencode編碼為: %E4%B8%80%E5%8F%B7
直接將中文放入引數後實際所傳遞的引數:
json=%7B%27name%27%3A+%27%5Cxe5%5Cxbc%5Cxa0%5Cxe4%5Cxb8%5Cx89%27%2C+%27number%27%3A+%27%5Cxe4%5Cxb8%5Cx80%5Cxe5%5Cx8f%5Cxb7%27%7D
先將中文進行編碼後代入,實際所傳遞的引數:
json=%7B%27name%27%3A+%27%25E5%25BC%25A0%25E4%25B8%2589%27%2C+%27number%27%3A+%27%25E4%25B8%2580%25E5%258F%25B7%27%7D

對比發現,編碼是不一致的,所以遇到中文引數傳遞出錯,先對中文進行編碼再做替換是一種可行方法。

本人利用方法二解決了Python2.7中的中文引數傳遞失敗的問題。
注:本方法僅用於本例項,引數為雙層json資料包裝的格式,僅供參考。

相關推薦

Python post中文引數傳遞出錯解決辦法

引數例項: values = {"json":{ "name": "張三", "number":"一號"

FlowPaper中文PDF亂碼的解決辦法

view r.js 完全 pdf 配置 -a 比對 html framwork [關鍵詞]FlowPaper、PDF.js、亂碼 [結論]先給出解決辦法,後面的大段內容只是為了記錄當時的排查過程。 PDF.js有全局變量對象PDFJS(1.8以上版本在pdf.js最後,1.

Android 傳送get請求 URL中文引數顯示問號的解決辦法

問題描述: 其中問號的字塊是URL中的中文引數。 在嘗試使用 String params = URLEncoder.encode(text,"utf-8"); 也會出現這種錯誤 解

Visual Studio build tools 安裝出錯解決辦法

clas layout 分享圖片 安裝 安裝出錯 mage build 參數 log 一般是安裝包丟失或損壞,那麽我麽可以用離線下載的方式來先行下載。 用 -h 看下幫助 主要是Layout參數。 下載完,到下載目錄安裝吧。Visual Studio buil

struts2 url 傳參 中文亂碼 的解決辦法

<a href="test.action?userName=張三">請點選</a> 上面的 userName 的值是中文,傳到 action 後會變亂碼。 因為url傳中文實

Python BeautifulSoup中文亂碼問題的2解決方法

解決方法一: 使用python的BeautifulSoup來抓取網頁然後輸出網頁標題,但是輸出的總是亂碼,找了好久找到解決辦法,下面分享給大家 首先是程式碼 from bs4 import BeautifulSoup import urllib2 url = 'htt

Mybatis模糊查詢,查詢不到中文,卻可以查詢到英文和數字的解決辦法

一、問題描述 最近使用Mybatis對MySQL資料庫查詢時,遇到了這個問題:使用模糊查詢語句時,可以查詢英文,但是查詢不到中文,Eclipse中DEBUG輸出的資訊–如圖: 可以看到,查詢中文“彩”字兒時返回的0條記錄,查詢123時。返回了1條記錄。而

關於java傳送http請求時中文亂碼的解決辦法

https://my.oschina.net/angerbaby/blog/207774摘要: 在jsp中常見的亂碼解決辦法無外乎是關於get和post兩種方式的,但只有切實地在實踐中使用時才會注意或者說注重到其他方式。例如,在http請求頭中傳送中文引數,出現亂碼,如何解決

ShardingJDBC不支持批量插入的解決辦法

gpo ins app war source ava tran user cep 最近項目中需要進行分表就使用了ShardingJDBC做數據庫中間層操作 之前sql中有寫批量插入,而ShardingJDBC不支持insert xxx values(...),(...),(

關於新建maven工程時,出現Could not calculate build plan錯誤(其中解決辦法

昨天呢,自己更改了一下eclipse的workspace,然後在新建maven工程時     出現Could not calculate build plan錯誤     去網上搜索了很多辦法都沒有奏效,後來終於找到問題所在  &

一個div中多個元素垂直居中的解決辦法

有多個元素需要垂直居中排列時,嘗試了很多方法,總結一下覺得用flex的佈局是最方便的。 目標實現: <div id="findclass" class="flexbox"> <div> </div>

Ubuntu18.04圖形介面崩潰無法進入桌面問題解決;cuda-9-0 (>= 9.0.176)的另解決辦法

追加:【已解決,有一張顯示卡硬體不穩定】 參考我的最終記錄: 首先說明我的情況: Ubuntu18.04,配置了CUDA9.0,在執行一段時間後,圖形介面突然崩潰,當時正在使用Teamviewer遠端操作Matlab。 報錯主要是“starting nvidia

有關於【該檔案的字元編碼需要在傳輸協議層宣告,或者在檔案中加入一個 BOM(位元組順序標記)】的另解決辦法

昨天測試一個介面的時候發現一個異常,瀏覽器訪問一個controller,然後帶了一個JSON格式的引數,然後瀏覽器返回400錯誤,除錯發現下面的錯誤資訊: 純文字檔案的字元編碼未宣告。如果該檔案包含 US-ASCII 範圍之外的字元,該檔案將在某些瀏覽器配置中呈現為亂碼。該

關於ubuntu沒有聲音的解決辦法

剛安裝了最新的ubuntu18,向在Chrome上聽歌,卻沒有聲音。在網上查了下終於找到解決辦法,如第一行參考。在終端輸入命令安裝  pavucontrol#sudo apt install pavucontrol啟動  pavucontrol#pavucontrol開啟網頁

ajax的post提交引數長度超出限制的解決辦法

tomcat 下 post提交預設最大 2M,修改maxPostSize值可解決引數長度超出限制。 修改tomcat檔案目錄下 conf/service.xml 檔案  tomcat 版本 >= 7.0.63  maxPostSize 必須小於 0 ,否則會出現 引

Connection reset異常的解決辦法

最近壓測時,服務端系統出現了“Connection reset”的異常,原因是伺服器關閉了Connection[呼叫了Socket.close()方法]。當檢查了應用中沒有顯示關閉的連結的程式碼後,調系統核心的引數後壓測再無報錯: a.進入: vim /

git clone失敗的解決辦法

小技巧,有時候通過git clone從github上更新程式碼失敗,比如 git clone https://github.com/xxx.git 提示下載失敗, 可以嘗試把https://換成 git:// git clone git://github.com/xxx.g

Eclipse安裝ColorTheme失敗的解決辦法

       今天重新裝了一下Eclipse,但是當我安裝ColorTheme的時候嘗試了各種辦法一直安裝失敗,然後突發奇想將ColorTheme的線上網址改為https://eclipse-color-theme.github.io/update/,之後很以外的成功了,本人

ubuntu下“ fatal error: pyconfig.h: 沒有那個檔案或目錄”的解決辦法

博主的系統是ubuntu14.04,之前一段時間一直使用的是python2.7,最近因業務需要升級到python3.6。 在將專案由python2.7升級到python3.6的過程中,涉及到C++檔案封裝到python的重新編譯配置。 編譯過程中報錯: boost/py

LNMP環境下502錯誤的解決辦法

我採用的php-fpm的模式跑php,訪問出現502!經驗告訴我有可能是php-fpm的原因造成的!重啟systemctl restart php-fpm可能能解決問題!對比php-fpm的版本與nginx配置的版本!此處是php7.2-fpm,那麼對應的php版本也應該是p