2014-11-16 61 views
1

我試圖使用JSON數組發送HTTPPost到Web服務器。JSON查詢帶有特殊字母的字符串

這個實現有問題嗎?

sendData = "?type=1&registID=aaabbbccc&[email protected]"; 
HttpPost post = new HttpPost(url + sendData); 

可能有一些特殊字母,如_, - ,@,。在ID部分和電子郵件部分。

我認爲這是從服務器返回無效結果。

我該如何解決這個問題?

////// 返回的結果如下所示。

<html><head><title>Apache Tomcat/7.0.50 - Error report</title>....... 
<body>HTTP Status 404 - ..........<u>The requested resource is not 
available.</u>....</body></html> 
+0

我不認爲下劃線,連字符,符號或句點字符就足以打破get查詢。有了這個值,它會突破嗎? (即向我們展示一個例子,您可以從服務器獲得無效結果) –

回答

2

它必須是您的sendData中的無效字符。 encodeULI()通常在我們想要將未接受的章程轉換爲有效的代碼時可以通過URL通過瀏覽器處理。我不是很確定,但是這個功能應該解決問題。

試試這個

sendData = "?type=1&registID=aaabbbccc&[email protected]"; 
HttpPost post = new HttpPost(url + encodeURI(sendData)); 
+0

我對答案並不確定,而且我真的是英文周,所以我傾向於寫短文 – MSS

0

其結果是,這個問題已經無關,與此源。

這是由服務器引起的錯誤。

服務器開發人員在兩小時試圖解決此問題後告訴我,服務器實際上並未運行。

MSS的回答在服務器重新啓動後導致了不同的錯誤。

結論:特殊字符,如下劃線,@,。在與服務器通信時不會造成任何問題。