2012-11-01 39 views
1

字符串的空格我試圖發送一個查詢網址刪除從HTTP連接

String url = String.format(
    "http://xxxxx/xxx/xxx&message=%s",myEditBox.getText.toString()); 
// Create a new HttpClient and Post Header 
DefaultHttpClient httpclient = new DefaultHttpClient(); 
HttpPost httppost = new HttpPost(url); 
httpclient.getCookieStore().addCookie(cooki); 
try { 
    ResponseHandler<String> responseHandler = new BasicResponseHandler(); 
    httpclient.getParams().setParameter("http.connection-manager.timeout", 15000); 
    String response = httpclient.execute(httppost, responseHandler); 

給我的錯誤,illegal character at query。可能是white space。如何處理這個問題?

最好的問候

+0

http://stackoverflow.com/questions/3286067/url-encoding-in-android – Matthieu

+0

您可以使用URLEncoder的爲 嘗試這些 http://stackoverflow.com/questions/ 3286067/url-encoding-in-android http://stackoverflow.com/questions/3734844/how-to-url-encode-in-android –

回答

4

您需要編碼您的網址。

String query = URLEncoder.encode(myEditBox.getText.toString(), "utf-8"); 
String url = "http://stackoverflow.com/search?q=" + query; 
0

你可以嘗試

httpclient.setRequestProperty("Accept-Charset","UTF-8"); 
url="http://xxxxx/xxx/xxx&message="+URLEncoder.encode(myEditBox.getText.toString(), "UTF-8"); 
+0

哦......我遲到了25秒:D – anishsane

0

嘗試.trim(),而從EditText上獲得價值。 可能是來自edittext的空白,也可能使用「utf-8」。

見下面的代碼。

String value = URLEncoder.encode(myEditBox.getText.toString().trim(), "utf-8"); 
String url = "http://xxxxx/xxx/xxx&message=%s" + value;