2011-11-26 173 views
0

我的Android http url連接有問題。 我有這樣的方法:當我使用它從一個普通的Java應用程序Android http基本認證

private String getHtml(String urlString) throws Exception { 

StringWriter sw = new StringWriter(); 
PrintWriter pw = new PrintWriter(sw); 

URL url = new URL(urlString); 
URLConnection uc = url.openConnection(); 
uc.setRequestProperty("Authorization", "Basic " + password); 
InputStream content = uc.getInputStream(); 
BufferedReader in = new BufferedReader(new InputStreamReader(content)); 
String line; 
while ((line = in.readLine()) != null) { 
    pw.println(line); 
} 
return sw.toString(); 
} 

它工作得很好。 但是,當我從Android應用程序運行它不起作用。

我觀察到,url連接是一個org.apache ... HttpURLConnection在Android中運行時。當它使用它時,它不會進入while循環。

在正常的Java應用程序中,它使用sun.net ... HttpURLConnection(它的工作原理)。

任何人有任何建議,我怎麼能得到這個在Android上工作?

回答

-1

你可以試試這個解決方案:

 try 
     { 
      HttpClient client = new DefaultHttpClient(); 
      HttpGet request = new HttpGet(url); 
      HttpResponse response = client.execute(request); 

      InputStream in = response.getEntity().getContent(); 
     } 
     catch (Exception e) 
     { 
      // Code 
     } 

不記得此刻的正確例外,但我認爲你可以找到它。

+0

這可能適用於其他情況。但我需要使用Http basic進行身份驗證。這就是我使用URLConnection的原因。但是,謝謝你的回覆 – user1066441

+0

啊,好的。有一些資源,你可以檢查[這裏](http://hc.apache.org/httpcomponents-client-ga/examples.html)。 – iCantSeeSharp