2009-09-23 48 views
2

有沒有人有過如何通過http(或套接字)執行https的示例? 嵌入式java平臺不支持開箱即用的https,但我相信它應該可以使用一些第三方庫或源代碼片段。我在哪裏可以找到如何在不支持https的java上設置https的示例

如果任何人都可以點我正確的方向,我會非常感激

+0

您使用的是JavaME,或者您使用的是哪個版本的java? – 2009-09-23 13:35:07

+0

我正在使用Sun的JDK 1.1.8(J2SE)的子集。以下軟件包支持: java.io - 的java.lang - 的java.lang.reflect - java.net - java.util中 - javax.comm – Toad 2009-09-23 13:53:30

+0

試試這個http://stackoverflow.com/questions/ 1466011 /我在哪裏可以找到一個如何設置https-on-java-where-https-is-not-sup – ehsgkat 2012-12-02 15:48:05

回答

0

正如bitover所說,你可以使用apache http組件。 簡單的例子,其中HTTPS頁面需要用戶憑據:

public static void main (String[] args){ 
    HttpClient httpclient = new DefaultHttpClient(); 
    // Note that the specified port 443 corresponds with the SSL service 
    ((AbstractHttpClient) httpclient).getCredentialsProvider().setCredentials(
new AuthScope("www.moneytrackin.com", 443), 
new UsernamePasswordCredentials("user", "password")); 
    // Https page to access 
    HttpGet httpget = new HttpGet("https://www.moneytrackin.com/api/rest/getBalance"); 
    HttpResponse response; 

    try { 
     response = httpclient.execute(httpget); 

     System.out.println("State: "+response.getStatusLine().toString()); 
     HttpEntity entity = response.getEntity(); 

     if (entity != null) { 
      InputStream instream = entity.getContent(); 
      String result= convertStreamToString(instream); 
      System.out.println("Data: "+result); 
      instream.close(); 
     } 

    } catch (ClientProtocolException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } catch (IOException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 

更多的例子在這個blog

1

? MIDP帶有HTTS處理程序。我只是檢查了代碼。這個包,

com.sun.midp.io.j2me.https 

實現HttpsConnection接口。

編輯:

我認爲最好的辦法是找到一箇舊版本BouncyCastle的JCE的,以你的Java版本的作品。 BC JCE附帶了這個類來處理SSL,

http://www.bouncycastle.org/docs/docs1.3/org/bouncycastle/crypto/tls/TlsProtocolHandler.html

這個測試說明了如何做一個簡單的HTTPS請求。

​​

+0

我不在j2me – Toad 2009-09-23 14:17:50

+0

看我的編輯.......................... – 2009-09-23 14:35:52

+0

我要檢查出來!謝謝! – Toad 2009-09-23 17:36:40

0

從我記事起,與HttpComponents你剛纔設置的套接字工廠使用SSLSocketFactory的和它的作品;但是,在Java 1.4中添加了SSLSocketFactory。老實說,我不認爲Apache HttpComponents API甚至可以在你描述的有限的環境下工作......你很可能需要一箇舊版本,當它被稱爲HttpClient(我認爲)和部分雅加達下議院。

好運

相關問題