zoukankan      html  css  js  c++  java
  • HttpInvoker http请求工具类

     1 import java.io.BufferedReader;
     2 import java.io.DataOutputStream;
     3 import java.io.IOException;
     4 import java.io.InputStreamReader;
     5 import java.net.HttpURLConnection;
     6 import java.net.URL;
     7 import java.util.Map;
     8 
     9 /**
    10  * HTTP请求类
    11  * @author 
    12  */
    13 public class HttpInvoker {
    14 
    15     /**
    16      * GET请求
    17      * @param getUrl
    18      * @throws IOException
    19      * @return 提取HTTP响应报文包体,以字符串形式返回
    20      */
    21     public static String httpGet(String getUrl) throws IOException { 
    22         //1 把字符串形式的网址转成 java.net.URL对象
    23         URL getURL = new URL(getUrl); 
    24         /*
    25          * 2 通过java.net.URL打开一个连接(获取一个代表与远程对象的URLConnection对象),并转为 HttpURLConnection ,
    26             Returns a URLConnection object that represents a connection 
    27             to the remote object referred to by the URL.
    28          */
    29         HttpURLConnection connection = (HttpURLConnection) getURL.openConnection(); 
    30         //3 通过HttpURLConnection对象真正获取连接
    31         connection.connect();
    32         //4 连接后那么这个远程连接对象就可以通过自身的一些方法读取到连接的信息了,这里是把流转成字符串
    33         BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
    34         StringBuilder sbStr = new StringBuilder();
    35         String line;
    36         while ((line = bufferedReader.readLine()) != null) { 
    37             sbStr.append(line); 
    38         } 
    39         bufferedReader.close();
    40         connection.disconnect(); 
    41         return new String(sbStr.toString().getBytes(),"utf-8");
    42     }
    43     
    44     
    45     public static void main(String[] args) throws IOException {
    46         String url = "https://www.hao123.com/?tn=99682755_hao_pg";
    47         String rtn_json = httpGet(url);
    48         System.out.println(""+rtn_json);
    49     }
    50     
    51     /**
    52      * POST请求
    53      * @param postUrl
    54      * @param postHeaders
    55      * @param postEntity
    56      * @throws IOException
    57      * @return 提取HTTP响应报文包体,以字符串形式返回
    58      */
    59     public static String httpPost(String postUrl,Map<String, String> postHeaders, String postEntity) throws IOException {
    60         
    61         URL postURL = new URL(postUrl); 
    62         HttpURLConnection httpURLConnection = (HttpURLConnection) postURL.openConnection(); 
    63         httpURLConnection.setDoOutput(true);                 
    64         httpURLConnection.setDoInput(true); 
    65         httpURLConnection.setRequestMethod("POST"); 
    66         httpURLConnection.setUseCaches(false); 
    67         httpURLConnection.setInstanceFollowRedirects(true); 
    68         httpURLConnection.setRequestProperty(" Content-Type ", " application/x-www-form-urlencoded ");
    69 
    70         if(postHeaders != null) {
    71             for(String pKey : postHeaders.keySet()) {
    72                 httpURLConnection.setRequestProperty(pKey, postHeaders.get(pKey));
    73             }
    74         }
    75         if(postEntity != null) {
    76             DataOutputStream out = new DataOutputStream(httpURLConnection.getOutputStream()); 
    77             out.writeBytes(postEntity); 
    78             out.flush(); 
    79             out.close(); // flush and close 
    80         }
    81         //connection.connect(); 
    82         BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(httpURLConnection.getInputStream())); 
    83         StringBuilder sbStr = new StringBuilder();
    84         String line;
    85         while ((line = bufferedReader.readLine()) != null) { 
    86             sbStr.append(line); 
    87         } 
    88         bufferedReader.close();
    89         httpURLConnection.disconnect(); 
    90         return new String(sbStr.toString().getBytes(),"utf-8");
    91     } 
    92 
    93 }
  • 相关阅读:
    POJ1239
    HDU 2829 四边形不等式优化
    返回数字二进制的最高位位数o(n)
    矩阵快速幂 模板
    HDU4718 The LCIS on the Tree(LCT)
    HDU4010 Query on The Trees(LCT)
    HDU3487 Play With Chains(Splay)
    CF444C DZY Loves Colors
    HDU4836 The Query on the Tree(树状数组&&LCA)
    HDU4831&&4832&&4834
  • 原文地址:https://www.cnblogs.com/Sunnor/p/6560840.html
Copyright © 2011-2022 走看看