Android HTTP GET in异步任务不工作

Android HTTP GET in异步任务不工作,android,apache-httpclient-4.x,Android,Apache Httpclient 4.x,我从一个HTTPPOST得到一个响应,从中获取一个子字符串,即URL,然后对其执行HTTPGET,我无法得到任何响应。对问题可能是什么有什么意见吗 String pkmspogout1 = result.substring(result.indexOf(",")+1,result.length()); Log.i("Lpkmspogout1 ", pkmspogout1); HttpClient htt

我从一个HTTPPOST得到一个响应,从中获取一个子字符串,即URL,然后对其执行HTTPGET,我无法得到任何响应。对问题可能是什么有什么意见吗

 String pkmspogout1 = result.substring(result.indexOf(",")+1,result.length());
                        Log.i("Lpkmspogout1 ", pkmspogout1);


                    HttpClient httpclient4 = new DefaultHttpClient();

                    HttpResponse logoutresponse  ;
                    try {
                        HttpGet httpget = new HttpGet(pkmspogout1);

                        logoutresponse = httpclient4.execute(httpget);
                        BufferedReader in2 = new BufferedReader(new InputStreamReader(logoutresponse.getEntity().getContent()));

                        StringBuffer sb2 = new StringBuffer("");

                        String line2 = "";
                        String NL2 = System.getProperty("line.separator");
                         while ((line2 = in2.readLine()) != null) {
                            sb2.append(line + NL2);

                        }
                        in2.close();


                        String pkmslogout5 = sb2.toString();
                        Log.i("logoutresponse from pkms", pkmslogout5+"");
                    } catch (Exception e) {}

pkmspogout1是正确的url吗? 此外,您还应确保执行以下操作以查看任何错误:

catch (Exception e) {e.printStackTrace();}
尝试按如下方式对url进行编码:

String[] url = pkmspogout1.split("com"); //Or whatever is the last part of the main url. 
                         //The letter "." means any character btw as it is a regular expression.
String finalUrl = url[0];
for(int i=0; i<url.length; i++){
     finalUrl += URLEncoder.encode(url[i],"UTF-8");
}

看看是否只有“http://”破坏了您的url。我仍然认为url是最重要的问题,正如您告诉我的那样,硬编码的url工作得很好。

它终于工作了,呸!我尝试了(pkmspogout1.trim())并且成功了!(URL前后的空格是问题所在)。

是的,当我登录pkmspogout1时,它是一个有效的URL(我也在浏览器上检查过),也许可以尝试System.out.println(第行);或Log.i(行);在您附加的位置检查您是否接收到数据。顺便说一句,您还应该确保logoutresponse=null。我得到“java.lang.IllegalArgumentException:路径中的非法字符”,这很奇怪(出于某些原因,我无法共享URL)。好吧,我帮不了你太多了……可能你要返回的URL显然有非法字符。如果你没有看到任何字符……最好的办法是使用pkmspogout1=urlcoder.encode(pkmspogout1,“UTF-8”);否则,我猜url有不好的字符……很高兴知道,当编码器失败时,我认为url很简单。我打算建议修剪,但不认为这是问题。很高兴知道在将来建议它。
pkmspogout1 = pkmspogout1.replace("http://","");
pkmspogout1 = URLEncoder.encode(pkmspogout1);
pkmspogout1 = "http://"+pkmspogout1;