2013-06-24 22 views
2

我使用HTTPUrlConnection來請求REST API。
我SER「內容類型」標題如下:我是否需要轉義一個字符串,該字符串是傳遞給HTTP主體的參數?

urlConnection.setRequestProperty("Content-type", 
         "application/x-www-form-urlencoded"); 

我設置HTTP正文如下:

out = urlConnection.getOutputStream(); 
out.write(postParameters.getBytes("UTF-8")); 

我不知道如果我需要逃跑後的參數(這是一個字符串)當我設置HTTP標頭和正文如上所示。

我只需要是或否作爲答案,但如果答案解釋了爲什麼是或爲什麼不是很好。

回答

2

既然您發佈的數據將被解釋爲application/x-www-form-urlencoded,那麼它必須有如下形式:

name1=value1&name2=value2&... 

因此,「價值」的零件必須進行URL編碼,否則他們不會被正確解釋。

使用POST與x-www-form-urlencoded只是將URL的查詢字符串部分移出請求並移入正文。

+0

謝謝你的解釋,但我不明白你的意思是我需要逃避POST參數或不。還要注意,在設置HTTP正文時,我會按照問題所示執行'postParameters.getBytes(「UTF-8」)'。 – Geek

+0

變量'postParameter'的內容是什麼?給我舉個例子嗎?另外,你的服務器API期望什麼? –

+0

postParamter的示例是'name = Akash&email = example @ example.com'。你的意思是我的服務器期望什麼? – Geek

相關問題