天天看点

http与https连接获取数据

http连接

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

import java.net.HttpURLConnection;

import java.net.URL;

public static String getResponse(String url, String par) {

String result = "";

HttpURLConnection httpConn = null;

try {

System.out.println(url);

URL urlObject = new URL(url);

httpConn = (HttpURLConnection) urlObject.openConnection();

httpConn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");

httpConn.setRequestMethod("POST");

httpConn.setDoOutput(true);

httpConn.setDoInput(true);

if (par != null) {

httpConn.getOutputStream().write(par.getBytes());

}

System.out.println(par);

InputStreamReader isr = new InputStreamReader(httpConn.getInputStream(), "gbk");

BufferedReader in = new BufferedReader(isr);

String inputLine;

while ((inputLine = in.readLine()) != null) {

result += inputLine;

}

in.close();

} catch (Exception e) {

e.printStackTrace();

InputStreamReader isr = null;

try {

if (httpConn != null) {

isr = new InputStreamReader(httpConn.getErrorStream(), "utf-8");

BufferedReader in = new BufferedReader(isr);

String inputLine;

while ((inputLine = in.readLine()) != null) {

result += inputLine;

}

httpConn.disconnect();

System.out.println(result);

}

} catch (IOException e1) {

e1.printStackTrace();

}

}finally{

if (httpConn != null) {

httpConn.disconnect();

}

}

return result;

}

https连接

import java.io.DataInputStream;

import java.io.DataOutputStream;

import java.io.InputStream;

import java.net.URL;

import java.security.cert.CertificateException;

import java.security.cert.X509Certificate;

import javax.net.ssl.HostnameVerifier;

import java.net.HttpURLConnection; 

import javax.net.ssl.HttpsURLConnection;

import javax.net.ssl.SSLContext;

import javax.net.ssl.SSLSession;

import javax.net.ssl.TrustManager;

import javax.net.ssl.X509TrustManager;

public class HttpsClient {

private static class TrustAnyTrustManager implements X509TrustManager {

public void checkClientTrusted(X509Certificate[] chain, String authType)

throws CertificateException {

}

public void checkServerTrusted(X509Certificate[] chain, String authType)

throws CertificateException {

}

public X509Certificate[] getAcceptedIssuers() {

return new X509Certificate[] {};

}

}

private static class TrustAnyHostnameVerifier implements HostnameVerifier {

public boolean verify(String hostname, SSLSession session) {

return true;

}

}

public String doGet(String url) throws Exception {

StringBuilder sb = new StringBuilder();

SSLContext sc = SSLContext.getInstance("SSL");

sc.init(null, new TrustManager[] { new TrustAnyTrustManager() },

new java.security.SecureRandom());

URL console = new URL(url);

HttpsURLConnection conn = (HttpsURLConnection) console.openConnection();

conn.setSSLSocketFactory(sc.getSocketFactory());

conn.setHostnameVerifier(new TrustAnyHostnameVerifier());

conn.connect();

InputStream inputStream = conn.getInputStream();

DataInputStream indata = new DataInputStream(inputStream);

String ret = "";

while (ret != null) {

ret = indata.readLine();

if (ret != null && !ret.trim().equals("")) {

sb.append(new String(ret.getBytes("ISO-8859-1"), "UTF-8"));

}

}

conn.disconnect();

inputStream.close();

indata.close();

return sb.toString();

}

public String doPost(String url, String access_token ,String obj) throws Exception {

StringBuilder sb = new StringBuilder();

SSLContext sc = SSLContext.getInstance("SSL");

sc.init(null, new TrustManager[] { new TrustAnyTrustManager() },

new java.security.SecureRandom());

URL console = new URL(url);

HttpsURLConnection conn = (HttpsURLConnection) console.openConnection();

conn.setSSLSocketFactory(sc.getSocketFactory());

conn.setHostnameVerifier(new TrustAnyHostnameVerifier());

conn.setRequestProperty("Charset", "utf-8");

conn.setRequestMethod("POST");

conn.setDoOutput(true);

conn.setDoInput(true);

conn.setUseCaches(false);

conn.setInstanceFollowRedirects(true);

conn.setRequestProperty("Content-Type", "application/json");

conn.setRequestProperty("Accept", "application/json");

if ( !Tool.isNull(access_token)) {

conn.setRequestProperty("ACCESS-TOKEN", access_token);

}   

conn.connect();

if(!Tool.isNull(obj)){

DataOutputStream outputStream = new DataOutputStream(conn

.getOutputStream());

outputStream.write(obj.getBytes("utf-8")); 

outputStream.flush();    

outputStream.close();

}

InputStream inputStream = conn.getInputStream();

DataInputStream indata = new DataInputStream(inputStream);

String ret = "";

while (ret != null) {

ret = indata.readLine();

if (ret != null && !ret.trim().equals("")) {

sb.append(new String(ret.getBytes("ISO-8859-1"), "UTF-8"));

}

}

conn.disconnect();

inputStream.close();

indata.close();

return sb.toString();

}

}