首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

https联接

2012-09-02 
https连接??import java.io.BufferedReaderimport java.io.InputStreamReaderimport javax.net.ssl.Host

https连接

?

?

import java.io.BufferedReader;import java.io.InputStreamReader;import javax.net.ssl.HostnameVerifier;import javax.net.ssl.HttpsURLConnection;import org.apache.http.HttpEntity;import org.apache.http.HttpResponse;import org.apache.http.HttpStatus;import org.apache.http.client.methods.HttpPost;import org.apache.http.conn.scheme.PlainSocketFactory;import org.apache.http.conn.scheme.Scheme;import org.apache.http.conn.scheme.SchemeRegistry;import org.apache.http.conn.ssl.SSLSocketFactory;import org.apache.http.conn.ssl.X509HostnameVerifier;import org.apache.http.impl.client.DefaultHttpClient;import org.apache.http.impl.conn.SingleClientConnManager;import org.apache.http.util.EntityUtils;import org.json.JSONArray;import org.json.JSONObject;import android.app.Activity;import android.os.Bundle;public class MainActivity extends Activity {    /** Called when the activity is first created. */    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        System.out.println("onCreate");        final String url = "https://martinreichart.com/_tmpdata/login_valid.json";           GetData(url);    }    public String GetData(String URL)       {           String returns="";           //Step One  register scheme of https           HostnameVerifier hostnameVerifier = org.apache.http.conn.ssl.SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER;                    SchemeRegistry registry = new SchemeRegistry();           SSLSocketFactory socketFactory = SSLSocketFactory.getSocketFactory();           socketFactory.setHostnameVerifier((X509HostnameVerifier) hostnameVerifier);           registry.register(new Scheme("https", socketFactory, 443));           registry.register(new Scheme("http",PlainSocketFactory.getSocketFactory (), 80));            //Step Two  Get httpClient and httpPost           DefaultHttpClient client = new DefaultHttpClient();           SingleClientConnManager mgr = new SingleClientConnManager(client.getParams(), registry);           DefaultHttpClient httpClient = new DefaultHttpClient(mgr, client.getParams());           //------- Set verifier           HttpsURLConnection.setDefaultHostnameVerifier(hostnameVerifier);           // -------Example send http request          // final String url = "https://martinreichart.com/_tmpdata/login_valid.json";           HttpPost httpPost = new HttpPost(URL);                //Step Three Get Data           try {               HttpResponse response = httpClient.execute(httpPost);               if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {                // 解析返回的内容                 HttpEntity entity = response.getEntity();             // returns = EntityUtils.toString(response.getEntity());                 StringBuilder sb = new StringBuilder();               if (entity != null) {                 BufferedReader reader = new BufferedReader(new InputStreamReader(entity.getContent(), "UTF-8"), 8192);                    //读取              String line = null;                 while ((line = reader.readLine())!= null){                     sb.append(line + "\n");                 }                 reader.close();                 System.out.println("解析完成");          //    System.out.println(sb);              JSONObject array = new JSONObject(sb.toString());                System.out.println(array.length());              System.out.println(65);           }               }        }           catch(Exception ex)           {               System.out.println(86);            String aa =ex.toString();               ex.printStackTrace();        }           return returns;       }  }

?

热点排行