有沒有人有過如何通過http(或套接字)執行https的示例? 嵌入式java平臺不支持開箱即用的https,但我相信它應該可以使用一些第三方庫或源代碼片段。我在哪裏可以找到如何在不支持https的java上設置https的示例
如果任何人都可以點我正確的方向,我會非常感激
有沒有人有過如何通過http(或套接字)執行https的示例? 嵌入式java平臺不支持開箱即用的https,但我相信它應該可以使用一些第三方庫或源代碼片段。我在哪裏可以找到如何在不支持https的java上設置https的示例
如果任何人都可以點我正確的方向,我會非常感激
正如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。
的Apache的HttpCore是你所需要的。查看更多:http://hc.apache.org/httpcomponents-core/index.html
BR, 加比
您正在使用什麼配置文件我看到很多關於http的內容,只有一個ssl的小部分。你確定https是本地處理的嗎?謝謝! – Toad 2009-09-23 14:10:00
? 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請求。
從我記事起,與HttpComponents你剛纔設置的套接字工廠使用SSLSocketFactory的和它的作品;但是,在Java 1.4中添加了SSLSocketFactory。老實說,我不認爲Apache HttpComponents API甚至可以在你描述的有限的環境下工作......你很可能需要一箇舊版本,當它被稱爲HttpClient(我認爲)和部分雅加達下議院。
好運
JBoss的網狀有an example of HTTP client,你只需要添加SSlHandler在HTTPRequestHandler和HTTPResponseHandler。
您使用的是JavaME,或者您使用的是哪個版本的java? – 2009-09-23 13:35:07
我正在使用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
試試這個http://stackoverflow.com/questions/ 1466011 /我在哪裏可以找到一個如何設置https-on-java-where-https-is-not-sup – ehsgkat 2012-12-02 15:48:05