【问题标题】:Removing White spaces from a string for http connection从用于 http 连接的字符串中删除空格
【发布时间】:2012-11-01 08:17:46
【问题描述】:

我正在尝试发送查询网址

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。如何处理这个问题?

最好的问候

【问题讨论】:

标签: java android


【解决方案1】:

您需要对您的网址进行编码。

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

【讨论】:

    【解决方案2】:

    你可以试试

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

    【讨论】:

    • 哦...我只晚了 25 秒发布:D
    【解决方案3】:

    在从 edittext 获取值时尝试 .trim()。 可能是来自edittext的空格,也可以使用“utf-8”。

    见下面的代码。

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

    【讨论】:

      猜你喜欢
      • 2012-03-27
      • 2011-09-21
      • 2017-11-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多