資源簡介
用于HTTP請求的工具類,支持GET,POST,HTTP,HTTPS
代碼簡單易懂
代碼片段和文件信息
import?java.io.BufferedReader;
import?java.io.FileNotFoundException;
import?java.io.InputStream;
import?java.io.InputStreamReader;
import?java.io.OutputStream;
import?java.net.HttpURLConnection;
import?java.net.URL;
import?java.security.cert.CertificateException;
import?java.security.cert.X509Certificate;
import?java.util.ArrayList;
import?java.util.HashMap;
import?java.util.List;
import?java.util.Map;
import?java.util.zip.GZIPInputStream;
import?javax.net.ssl.HttpsURLConnection;
import?javax.net.ssl.SSLContext;
import?javax.net.ssl.TrustManager;
import?javax.net.ssl.X509TrustManager;
public?class?HttpUtil
{
??public?static?final?String?CHARSET_UTF8?=?“UTF-8“;
??public?static?final?String?CHARSET_GBK?=?“GBK“;
??public?static?int?HTTP_TIMEOUT?=?15;
??public?static?boolean?GZIP?=?false;
??public?static?String?ENCODING?=?“UTF-8“;
??private?static?TrustManager?myX509TrustManager?=?new?X509TrustManager()
??{
????public?void?checkClientTrusted(X509Certificate[]?arg0?String?arg1)
??????throws?CertificateException
????{
????}
????public?void?checkServerTrusted(X509Certificate[]?arg0?String?arg1)
??????throws?CertificateException
????{
????}
????public?X509Certificate[]?getAcceptedIssuers()
????{
??????return?null;
????}
??};
??public?static?Map?createCommonHeader()
??{
????Map?header?=?new?HashMap();
????header.put(“User-Agent“?“Mozilla/5.0?(Windows?NT?6.1)?AppleWebKit/537.36?(KHTML?like?Gecko)?Chrome/44.0.2403.155?Safari/537.36“);
????return?header;
??}
??public?static?String?doPost(String?url?Map?header?String?data)
??{
????if?(url.contains(“https://“))
??????return?doPostSSL(url?header?data);
????try
????{
??????URL?uri?=?new?URL(url);
??????HttpURLConnection?conn?=?(HttpURLConnection)uri.openConnection();
??????conn.setRequestMethod(“POST“);
??????conn.setDoInput(true);
??????conn.setReadTimeout(HTTP_TIMEOUT?*?1000);
??????conn.setConnectTimeout(HTTP_TIMEOUT?*?1000);
??????if?(header?!=?null)?{
????????for?(String?key?:?header.keySet())?{
??????????conn.setRequestProperty(key?(String)header.get(key));
????????}
??????}
??????if?(data?!=?null)?{
????????conn.setDoOutput(true);
????????OutputStream?os?=?conn.getOutputStream();
????????os.write(data.getBytes());
????????os.flush();
????????os.close();
??????}
??????InputStream?is?=?conn.getInputStream();
??????BufferedReader?reader?=?new?BufferedReader(
????????new?InputStreamReader(is?ENCODING));
??????StringBuffer?resultsb?=?new?StringBuffer();
??????String?temp?=?null;
??????while?((temp?=?reader.readLine())?!=?null)?{
????????resultsb.append(temp);
??????}
??????return?resultsb.toString();
????}?catch?(Exception?ex)?{
??????ex.printStackTrace();
????}
????return?null;
??}
??public?static?String?doGet(String?url?Map?header)
??{
????if?(url.contains(“https://“))
??????return?doGetSSL(url?header);
????try
????{
??????URL?uri?=?new?URL(
評論
共有 條評論