• 大小: 9KB
    文件类型: .java
    金币: 1
    下载: 0 次
    发布日期: 2021-05-19
  • 语言: Java
  • 标签: HTTP  

资源简介

用于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(

评论

共有 条评论