zoukankan      html  css  js  c++  java
  • Java-Http

    
    
     1 import java.io.BufferedReader;
     2 import java.io.BufferedWriter;
     3 import java.io.IOException;
     4 import java.io.InputStreamReader;
     5 import java.io.OutputStreamWriter;
     6 import java.net.HttpURLConnection;
     7 import java.net.MalformedURLException;
     8 import java.net.URL;
     9 
    10 /**
    11  * HttpURLConnection
    12  */
    13 public class TestPost {
    14     public static void main(String[] args) {
    15         try {
    16             URL url = new URL("");
    17             HttpURLConnection connection =   (HttpURLConnection) url.openConnection();
    18             connection.setRequestProperty("encoding", "UTF-8");
    19             connection.setRequestMethod("POST");
    20             connection.setDoInput(true);
    21             connection.setDoOutput(true);
    22             //根据连接对象创建输出流   将参数写入
    23             BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(connection.getOutputStream()));
    24             bw.write("name=zhangsan&age=25");
    25             bw.flush();
    26             //创建输入流  获取响应数据
    27             BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream()));
    28             String str;
    29             StringBuffer sb = new StringBuffer();
    30             while((str = br.readLine())!=null) {
    31                 sb.append(str);
    32             }
    33             bw.close();
    34             br.close();
    35         } catch (MalformedURLException e) {
    36             e.printStackTrace();
    37         } catch (IOException e) {
    38             e.printStackTrace();
    39         }
    40     }
    41 }
    
    

    1
    import java.io.BufferedReader; 2 import java.io.IOException; 3 import java.io.InputStreamReader; 4 import java.net.MalformedURLException; 5 import java.net.URL; 6 import java.net.URLConnection; 7 8 /** 9 * URLConnection
    10  */
    11 public class TestGet {
    12     public static void main(String[] args) {
    13         try {
    14             URL url = new URL("https://www.baidu.com");
    15             //打开连接
    16             URLConnection openConnection = url.openConnection();
    17             //获取连接中的输入流openConnection.getInputStream()返回字节流,通过转成字符流并包装一个缓冲流
    18             BufferedReader br = new BufferedReader(
    19                     new InputStreamReader(openConnection.getInputStream()));
    20             String str;
    21             StringBuffer sb = new StringBuffer();
    22             while((str = br.readLine())!=null) {
    23                 sb.append(str);
    24             }
    25             System.out.println(sb);
    26             br.close();
    27         } catch (MalformedURLException e) {
    28             e.printStackTrace();
    29         } catch (IOException e) {
    30             e.printStackTrace();
    31         }
    32     }
    33 }
     1 import java.io.IOException;
     2 import org.apache.http.HttpEntity;
     3 import org.apache.http.HttpResponse;
     4 import org.apache.http.client.ClientProtocolException;
     5 import org.apache.http.client.HttpClient;
     6 import org.apache.http.client.methods.HttpGet;
     7 import org.apache.http.impl.client.HttpClients;
     8 import org.apache.http.util.EntityUtils;
     9 
    10 /**
    11  * HttpGet
    12  */
    13 public class HttpClientGetTest {
    14     public static void main(String[] args) {
    15         HttpClient client = HttpClients.createDefault();
    16         try {
    17             HttpGet get = new HttpGet("http://www.baidu.com");
    18             HttpResponse response = client.execute(get);
    19             HttpEntity entity = response.getEntity();
    20             String result = EntityUtils.toString(entity,"UTF-8");
    21             
    22             System.out.println(result);
    23         } catch (ClientProtocolException e) {
    24             e.printStackTrace();
    25         } catch (IOException e) {
    26             e.printStackTrace();
    27         }
    28     }
    29 }
     1 import java.io.IOException;
     2 import java.util.ArrayList;
     3 import java.util.List;
     4 
     5 import org.apache.http.HttpEntity;
     6 import org.apache.http.HttpResponse;
     7 import org.apache.http.client.ClientProtocolException;
     8 import org.apache.http.client.HttpClient;
     9 import org.apache.http.client.entity.UrlEncodedFormEntity;
    10 import org.apache.http.client.methods.HttpPost;
    11 import org.apache.http.impl.client.HttpClients;
    12 import org.apache.http.message.BasicNameValuePair;
    13 import org.apache.http.util.EntityUtils;
    14 
    15 /**
    16  * HttpPost
    17  */
    18 public class HttpClientPostTest {
    19     public static void main(String[] args) {
    20         try {
    21             HttpClient client = HttpClients.createDefault();
    22             HttpPost post = new HttpPost("http://www.baidu.com");
    23             //参数集合
    24             List<BasicNameValuePair> parameters = new ArrayList<BasicNameValuePair>();
    25             //添加数据
    26             parameters.add(new BasicNameValuePair("name", "zhangsan"));
    27             //将参数放到实体中
    28             post.setEntity(new UrlEncodedFormEntity(parameters));
    29             //设置请求方式
    30             HttpResponse response = client.execute(post);
    31             HttpEntity entity = response.getEntity();
    32             String result = EntityUtils.toString(entity,"UTF-8");
    33             //打印响应信息
    34             System.out.println(result);
    35         } catch (ClientProtocolException e) {
    36             e.printStackTrace();
    37         } catch (IOException e) {
    38             e.printStackTrace();
    39         }
    40     }
    41 }
    1         <!-- httpclient -->
    2         <dependency>
    3             <groupId>org.apache.httpcomponents</groupId>
    4             <artifactId>httpclient</artifactId>
    5             <version>4.5.5</version>
    6         </dependency>
      1 import java.io.IOException;
      2 
      3 import org.apache.http.HttpEntity;
      4 import org.apache.http.HttpStatus;
      5 import org.apache.http.client.CookieStore;
      6 import org.apache.http.client.config.RequestConfig;
      7 import org.apache.http.client.methods.CloseableHttpResponse;
      8 import org.apache.http.client.methods.HttpGet;
      9 import org.apache.http.client.methods.HttpPost;
     10 import org.apache.http.client.methods.HttpRequestBase;
     11 import org.apache.http.entity.StringEntity;
     12 import org.apache.http.impl.client.BasicCookieStore;
     13 import org.apache.http.impl.client.CloseableHttpClient;
     14 import org.apache.http.impl.client.HttpClients;
     15 import org.apache.http.util.EntityUtils;
     16 /**
     17  * @ClassName: HttpReqUtil
     18  * @Description: http请求工具类
     19  */
     20 public class HttpReqUtil {
     21 
     22     private static CookieStore cookieStore = new BasicCookieStore();
     23     /**
     24      * @Title: httpReqConfig
     25      * @Description: 请求配置
     26      * @param httpRequestBase
     27      * @return void  返回类型
     28      * @throws
     29      */
     30     public static void httpReqConfig(HttpRequestBase httpRequestBase) {
     31         // header配置
     32         httpRequestBase.setHeader("User-Agent", "Mozilla/5.0");
     33         httpRequestBase.setHeader("Accept", "*/*");
     34         httpRequestBase.setHeader("Accept-Language", "zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3");
     35         httpRequestBase.setHeader("Accept-Encoding", "gzip, deflate");
     36 
     37         // 请求超时设置
     38         RequestConfig config = RequestConfig.custom() //获取Builder对象
     39                 .setConnectionRequestTimeout(20000)  //设置请求超时时间
     40                 .build();  //构建RequestConfig对象
     41 
     42         httpRequestBase.setConfig(config);  //将RequestConfig添加到请求中
     43     }
     44 
     45     /**
     46      * @Title: sendGet
     47      * @Description: 发送get请求
     48      * @param url
     49      * @param param
     50      * @return String  返回类型
     51      * @throws
     52      */
     53     public static String sendGet(String url, String param) {
     54 
     55         // 初始化
     56         String result = null;
     57         CloseableHttpResponse response = null;
     58         String finalUrl = url + "?" + param;
     59         // 创建httpclient
     60         CloseableHttpClient httpclient = HttpClients.custom()
     61         //请求中cookie由cookie管理,存储第一次登陆后服务器返回的cookie,之后登陆后的请求都带上该cookie
     62                 .setDefaultCookieStore(cookieStore)
     63                 .build();
     64         
     65         try {
     66             // 发送get请求+header
     67             HttpGet httpGet = new HttpGet(finalUrl);
     68 
     69             // 添加header
     70             httpReqConfig(httpGet);
     71             response = httpclient.execute(httpGet);
     72 
     73             // 获取响应内容
     74             if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
     75                 HttpEntity entity = response.getEntity();
     76                 result = EntityUtils.toString(entity);
     77             }
     78         } catch (Exception e) {
     79             e.printStackTrace();
     80         } finally {
     81             try {
     82                 // 关闭数据流
     83                 if(response!=null) {
     84                     response.close();
     85                 }
     86             } catch (IOException e) {
     87                 e.printStackTrace();
     88             }
     89             try {
     90                 // 关闭连接
     91                 if(httpclient!=null) {
     92                     httpclient.close();
     93                 }
     94             } catch (IOException e) {
     95                 e.printStackTrace();
     96             }
     97         }
     98         return result;
     99     }
    100 
    101     /**
    102      * @Title: sendPost
    103      * @Description: 发送post请求
    104      * @param url
    105      * @param param
    106      * @return String  返回类型
    107      * @throws
    108      */
    109     public static String sendPost(String url, String param) {
    110         // 初始化
    111         String result = null;
    112         CloseableHttpResponse response = null;
    113         // 创建httpclient
    114         CloseableHttpClient httpclient = HttpClients.custom()
    115                 .setDefaultCookieStore(cookieStore)
    116                 .build();
    117             try {
    118                 HttpPost httpPost = new HttpPost(url);
    119                 // 添加header
    120                 httpReqConfig(httpPost);
    121 
    122                 StringEntity stringEntity = new StringEntity(param, "UTF-8");
    123                 stringEntity.setContentType("application/x-www-form-urlencoded");
    124 
    125                 // 发送post请求
    126                 httpPost.setEntity(stringEntity);
    127                 response = httpclient.execute(httpPost);
    128 
    129                 // 获取响应内容
    130                 if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
    131                     HttpEntity entity = response.getEntity();
    132                     result = EntityUtils.toString(entity);
    133                 }
    134             } catch (Exception e) {
    135                 e.printStackTrace();
    136             } finally {
    137                 try {
    138                     // 关闭数据流
    139                     if(response!=null) {
    140                         response.close();
    141                     }
    142                 } catch (IOException e) {
    143                     e.printStackTrace();
    144                 }
    145                 try {
    146                     // 关闭连接
    147                     if(httpclient!=null) {
    148                         httpclient.close();
    149                     }
    150                 } catch (IOException e) {
    151                     e.printStackTrace();
    152                 }
    153             }
    154         return result;
    155     }
    156 
    157     public static void main(String[] args) {
    158 
    159         // 案例:登陆接口
    160         String url_a = "http://www.nuandao.com/public/lazyentrance";
    161         String param_a = "isajax=1&remember=1&email=xxxxx@qq.com&password=testing1?&agreeterms=1&itype=&book=1&m=0.2757277030262314";
    162         sendPost(url_a, param_a);
    163 
    164 //        // 案例:购物车接口
    165 //        String url_b = "http://www.nuandao.com/shopping/cart";
    166 //        String param_b = "countdown=1&m=0.3810762454661424";
    167 //        sendPost(url_b, param_b);
    168 
    169         /*
    170          * //案例 String url_c = "http://www.nuandao.com/Ajax/personal"; String
    171          * param_c =
    172          * "default=1&pagesign=user&url=http%3A%2F%2Fwww.nuandao.com%2Fuser%2Fmyorder&m=0.7948146575033792";
    173          * sendPost(url_c,param_c);
    174          * 
    175          * //案例 String url_d =
    176          * "https://m.jiuxian.com/m_v1/goods/get_goods_num_by_province"; String
    177          * param_d = "goods_id=28045&province_id=500"; sendPost(url_d,param_d);
    178          */
    179     }
    180 }
  • 相关阅读:
    CentOS 7.4 安装python3及虚拟环境
    【抓包工具之Fiddler】增加IP列;session高亮
    【抓包工具之Fiddler】导出jmeter脚本
    Python2.7 Centos安装
    Centos 轻松升级 GCC 不改变系统环境
    GraphLab 安装 出错 "Cannot uninstall 'boto'" "Cannot uninstall 'certifi'"
    Centos6 使用 gbdt lightgbm "libc.so.6: version `GLIBC_2.14' not found" "Segment Fault"
    Linux 安装 gbdt xgboost lightgbm
    Sudo Permission Denied
    Linux Load Average高但磁盘IO和CPU占用率不高的可能原因
  • 原文地址:https://www.cnblogs.com/wang1001/p/9756057.html
Copyright © 2011-2022 走看看