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; } }?