2012-12-03 46 views
-2

可能重複:
How do I accept a self-signed certificate with a Java HttpsURLConnection?Android的 - HTTP GET自簽名

我已成立了一個HTTP GET。

的代碼如下:

public class GetMethodEx { 

public String getInternetData() throws Exception{  

     BufferedReader in = null; 
     String data = null; 
     try 
     { 
      HttpClient client = new DefaultHttpClient(); 
      URI website = new URI("http://www.google.com"); 
      HttpGet request = new HttpGet(); 
      request.setURI(website); 
      HttpResponse response = client.execute(request); 
      in = new BufferedReader(new InputStreamReader(response.getEntity().getContent())); 
      StringBuffer sb = new StringBuffer(""); 
      String l = ""; 
      String nl = System.getProperty("line.separator"); 
      while ((l = in.readLine()) !=null){ 
       sb.append(l + nl); 
      } 
      in.close(); 
      data = sb.toString(); 
      return data;   
     } finally{ 
      if (in != null){ 
       try{ 
        in.close(); 
        return data; 
       }catch (Exception e){ 
        e.printStackTrace(); 
       } 
      } 
     } 
} 

}

的代碼可以讓我找回任何HTTP網站,我認爲簽名的證書。

但是,當我嘗試從我的自簽名服務器檢索請求時。我沒有得到任何迴應。

+0

請參閱:http://stackoverflow.com/questions/1217141/self-signed-ssl-acceptance-android,你可以使用給出的答案。 享受 –

+0

或者在這裏:http://stackoverflow.com/q/859111/969325 – Warpzit

+0

感謝鏈接球員,我只是有點無能,如何落實到我的代碼這一點。 –

回答

0

要恢復,您可以使用這兩個答案之一,這將解決您的問題:

這是很容易解決你的問題。

+0

我是否爲此創建了一個新班級?或者GetMethod類會好嗎? –

+0

如果您只需要在此類中連接到未簽名的服務器,則可以使用GetMethod類。最好的解決方案是增加一個單獨的類,並在代碼中的任何位置使用它,並重復代碼,這是「良好的編程技術」之一。 –

+0

我會在運行HttpGet或onCreate之前調用它嗎? –