我想发送一个查询的url:
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
。可能就是空白的那部分。如何处理这个问题?
你需要编码 url
String query = URLEncoder.encode(myEditBox.getText.toString(), "utf-8");
String url = "http://stackoverflow.com/search?q=" + query;
使用Try .trim() 可以从 edittext 中获取值。空白来自 edittext ,同时也使用了 "utf-8"
String value = URLEncoder.encode(myEditBox.getText.toString().trim(), "utf-8");
String url = "http://xxxxx/xxx/xxx&message=%s" + value;
String url = String.format(
"http://xxxxx/xxx/xxx&message=%s",myEditBox.getText.toString());
String regEx = "\\s";
Pattern p = Pattern.compile(regEx);
url = p.matcher(url).replaceAll("").trim();