http客户端工具类 - 含完整代码及内部解析

文章目录Http客户端工具用途及分析完整的代码段结束Http客户端工具文章目录Maven打包Jar + Http向Url发送Get请求_lijiamin-的CSDN博客前段时间,我写了一个非常简陋的Get请求的代码用于刷CSDN的访客量,但是那个玩意并不能用于实际工作中,因为它里面并没有包含什么其他的参数,只是简简单单的发起请求,但是在这几天的工作中,我有幸接触到了这篇代码,现将它刨析一番并分享给大家用途及分析顾名思义,是一个HTTP客户端工具,能通过代码方式发起get、po
摘要由CSDN通过智能技术生成

Http客户端工具

文章目录
Maven打包Jar + Http向Url发送Get请求_lijiamin-的CSDN博客

前段时间,我写了一个非常简陋的Get请求的代码用于刷CSDN的访客量,但是那个玩意并不能用于实际工作中,因为它里面并没有包含什么其他的参数,只是简简单单的发起请求,但是在这几天的工作中,我有幸接触到了这篇代码,现将它刨析一番并分享给大家

用途及分析

顾名思义,是一个HTTP客户端工具,能通过代码方式发起get、post、put、delete请求,里面有如下几个方法

  1. 连接池初始化
  2. 连接保活(长连接)
  3. SSL绕过验证
  4. 请求创建
  5. 执行请求(GET\POST\PUT\DELETE)

关于请求,我们需要同时考虑到HTTP/HTTPS的情况,HTTPS采用了SSL的安全加密

初始化的客户端,里面的传入实例defaultStrategy是HTTP长连接的配置

接下来开始创建请求

请求的执行我不太想写了,我去整其他东西了,完整的代码在下面

完整的代码段

使用方式

HttpClientPoolUtil.post(完整的请求地址, JSON字符串的请求数据, 请求头);

实际案例代码

public static void main(String[] args) throws Exception {
   
        String file = "D:\\Weather-local.txt";
        FileWriter fw = new FileWriter(file, true);
        while (true) {
   
            // 请求
            Map map = new HashMap<String, Object>();
            map.put("accept", "*/*");
            map.put("connection", "Keep-Alive");
            map.put("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)");
            map.put("Content-Type", "application/json;charset=utf-8");

            String strRes = HttpClientPoolUtil.get("http://t.weather.itboy.net/api/weather/city/101280601", map);
            // 写处理
            fw.append("当前时间:" + new Date() + "_____________" + strRes);
            fw.append("\n");
            fw.append("\n");
            fw.flush();
            System.out.println(new Date() + "----ok");
            Thread.sleep(900000);
        }
    }

原始代码

import org.apache.http.HeaderElement;
import org.apache.http.HeaderElementIterator;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.client.methods.*;
import org.apache.http.client.protocol.HttpClientContext;
import org.apache.http.config.Registry;
import org.apache.http.config.RegistryBuilder;
import org.apache.http.conn.ConnectionKeepAliveStrategy;
import org.apache.http.conn.socket.ConnectionSocketFactory;
import org.apache.http.conn.socket.PlainConnectionSocketFactory;
import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;
import org.apa
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值