vus520 发表于 2012-10-24 22:53:39

android中进行https连接的方式的详解

android中进行https连接的方式的详解

“比较不错的帖子哦
android Video Buffer傳輸流程
http://www.eoeandroid.com/thread-195728-1-1.html
利用反射机制,封装 SAX解析类,从而解析网络xml文件
http://www.eoeandroid.com/thread-193789-1-1.html
关于Android root工具SuperOneClick教程详解
http://www.eoeandroid.com/thread-190233-1-1.html
如果不需要验证服务器端证书,直接照这里做。

    public class Demo extends Activity {         /** Called when the activity is first created. */             private TextView text;         @Override         public void onCreate(Bundle savedInstanceState) {             super.onCreate(savedInstanceState);             setContentView(R.layout.main);             text = (TextView)findViewById(R.id.text);             GetHttps();         }                  private void GetHttps(){               String https = " https://800wen.com/";               try{                         SSLContext sc = SSLContext.getInstance("TLS");                         sc.init(null, new TrustManager[]{new MyTrustManager()}, new SecureRandom());                         HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());                         HttpsURLConnection.setDefaultHostnameVerifier(new MyHostnameVerifier());                        HttpsURLConnection conn = (HttpsURLConnection)new URL(https).openConnection();
                        conn.setDoOutput(true);                         conn.setDoInput(true);                        conn.connect();                                                BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream()));                  StringBuffer sb = new StringBuffer();                  String line;                  while ((line = br.readLine()) != null)                        sb.append(line);                                                text.setText(sb.toString());                                       }catch(Exception e){                         Log.e(this.getClass().getName(), e.getMessage());               }                        }                  private class MyHostnameVerifier implements HostnameVerifier{                     @Override                     public boolean verify(String hostname, SSLSession session) {                            // TODO Auto-generated method stub                           return true;                     }         }             private class MyTrustManager implements X509TrustManager{                     @Override                     public void checkClientTrusted(X509Certificate[] chain, String authType)                                     throws CertificateException {                           // TODO Auto-generated method stub                                                 }                  @Override                     public void checkServerTrusted(X509Certificate[] chain, String authType)                                     throws CertificateException {                            // TODO Auto-generated method stub                                                }                  @Override                     public X509Certificate[] getAcceptedIssuers() {                           // TODO Auto-generated method stub                           return null;                  }                }       }
页: [1]
查看完整版本: android中进行https连接的方式的详解