Java实现http客户端请求-阿里云开发者社区

开发者社区> 在渝老码农> 正文

Java实现http客户端请求

简介: Java实现http客户端请求
+关注继续查看

依赖配置pom.xml

<!-- httpclient -->
<dependency>
    <groupId>org.apache.httpcomponents</groupId>
    <artifactId>httpclient</artifactId>
    <version>4.5.5</version>
</dependency>
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.70</version>
</dependency>

Get请求

/**
 * 抓取指定网页,返回文本信息。
 * @param url 网页地址
 * @param code 指定网页解析编码
 * @return 网页文本
 * @throws IOException
 * @throws ClientProtocolException
 */
public static String httpGet(String url, String code) throws Exception {
    RequestConfig config = RequestConfig.custom()
            .setConnectTimeout(10000)
            .setSocketTimeout(10000)
            .setConnectionRequestTimeout(10000)
            .build();
    HttpClient client = HttpClients.createDefault();
    HttpGet get = new HttpGet(url);
    get.setConfig(config);
    HttpResponse response = client.execute(get);
    return EntityUtils.toString(response.getEntity(), code);
}

/**
 * 抓取指定网页,返回文本信息。默认utf-8编码方式解析文本。
 * @param url 网页地址
 * @return 网页文本
 * @throws IOException
 * @throws ClientProtocolException
 */
public static String httpGet(String url) throws Exception {
    return httpGet(url, "utf-8");
}

Post请求

/**
 * 发送HTTP请求,并设置post参数。
 * @param ur 请求地址
 * @param data 参数键值对
 * @return 获取响应
 * @throws ClientProtocolException
 * @throws IOException
 */
public static String httpPost(String url, Map<String, Object> data) throws ClientProtocolException, IOException {
    RequestConfig config = RequestConfig.custom()
            .setConnectTimeout(10000)
            .setSocketTimeout(10000)
            .setConnectionRequestTimeout(10000).build();
    HttpClient client = HttpClients.createDefault();
    HttpPost post = new HttpPost(url);
    post.setConfig(config);
    post.setHeader("Content-Type", "application/json;charset=UTF-8");
    post.setEntity(new StringEntity(JSONObject.toJSONString(data)));
    HttpResponse response = client.execute(post);
    return EntityUtils.toString(response.getEntity(), "utf-8");
}

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
ECS体验
阿里云使用起来,非常省力。不需要花时间维修服务器硬件,有阿里监控服务器,让我很放心。 阿里云服务器稳定,不会出现异常关机等掉线状况。 阿里云服务器非常安全,不会出现安全问题。 阿里云的价格也非常的亲民,非常省钱,尤其对我们学生用户非常友好。
14 0
做到这4点,才是真正的持续交付| 研发效能提升36计
全线专栏《研发效能提升36计_持续交付篇》上线啦!本专栏将通过10-20篇文章,系统分享云原生时代,企业如何落地持续交付。本文是该专栏的第2篇。 什么是真正的持续交付?
16 0
ECS使用体验
在阿里云领取了一个服务器,分享一下使用体验
12 0
Spring Security 授权整体流程
统一鉴权安全框架Security的授权分析
6 0
Spring MVC Controller 接收ajax的数组参数说明
Spring MVC Controller 接收ajax的数组参数说明
10 0
Java生成随机字符串与md5加密
Java生成随机字符串与md5加密
4 0
SpringBoot通过dubbo-spring-boot-starter整合Dubbo出现的问题
SpringBoot通过dubbo-spring-boot-starter整合Dubbo出现的问题
8 0
阿里云自然语言处理--文本纠错(中文)Java 调用示例
自然语言处理(Natural Language Processing,简称NLP),是为各类企业及开发者提供的用于文本分析及挖掘的核心工具,旨在帮助用户高效的处理文本,已经广泛应用在电商、文娱、司法、公安、金融、医疗、电力等行业客户的多项业务中,取得了良好的效果。文本纠错产品是基于海量大数据研发,为有文本纠错需求的产品提供服务。能够准确识别输入文本中出现的拼写错别字及其段落位置信息,并针对性给出正确的建议文本内容。本文将使用Java CommonSDK演示文本纠错(中文)服务的快速调用以供参考。
7 0
微服务架构 | 4. 服务调用
服务调用是在注册中心的基础之上,解决应该调用哪个服务实例的问题;
9 0
【高并发】为何高并发系统中都要使用消息队列?这次彻底懂了!
很多高并发系统中都会使用到消息队列中间件,那么,问题来了,为什么在高并发系统中都会使用到消息队列中间件呢?立志成为资深架构师的你思考过这个问题吗?
13 0
+关注
在渝老码农
我想简单了,还是他想复杂了?
57
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载