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();


}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章