【Java】汇总Java中发送HTTP请求的7种方式

这篇具有很好参考价值的文章主要介绍了【Java】汇总Java中发送HTTP请求的7种方式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

今天在项目中发现一个功能模块是额外调用的外部服务,其采用CloseableHttpClient调用外部url中的接口……

public void handleHttp(String jsonParam, String url) {
    BufferedReader in = null;
    try {
        HttpClient client = HttpClients.createDefault();
        HttpPost request = new HttpPost(url);

        request.addHeader(HTTP.CONTENT_TYPE, "application/json");

        StringEntity s = new StringEntity(jsonParam, Charset.forName("UTF-8"));
        s.setContentEncoding("UTF-8");
        s.setContentType("application/json;charset=UTF-8");
        request.setEntity(s);

        HttpResponse response = client.execute(request);
        int code = response.getStatusLine().getStatusCode();

        in = new BufferedReader(new InputStreamReader(response.getEntity().getContent(), "utf-8"));
        StringBuilder sb = new StringBuilder();
        String line = "";
        String NL = System.getProperty("line.separator");
        while ((line = in.readLine()) != null) {
            sb.append(line).append(NL);
        }
        in.close();

        if (code == 200) {
            logger.info("接口:{},请求成功:" + sb.toString(), url);
        } else if (code == 500) {
            throw new TapException("服务器错误:" + sb + ",url:" + url);
        } else {
            throw new TapException("接口未知的情况,code=" + code + "," + sb + ",url:" + url);
        }
    } catch (Exception e) {
        throw new TapException("接口调用出现异常……");
    }
}

【Java】汇总Java中发送HTTP请求的7种方式

CloseableHttpClient HTTP发送请求处理流程:
【Java】汇总Java中发送HTTP请求的7种方式文章来源地址https://www.toymoban.com/news/detail-511850.html

汇总发送HTTP请求的7种方式:
1HttpURLConnection
使用JDK原生提供的net,无需其他jar包。
2HttpClient
 需要用到commons-httpclient-3.1.jar
3CloseableHttpClient
 需要用到httpclient-4.5.6.jar
4、okhttp
需要用到okhttp-3.10.0.jar
5Socket
使用JDK原生提供的net,无需其他jar包。
6RestTemplate
RestTemplate 是由Spring提供的一个HTTP请求工具。
比传统的ApacheHttpClient便捷许多,能够大大提高客户端的编写效率。
7Feign
spring-cloud-starter-feign

学习1:JAVA发送HTTP请求的多种方式总结
https://blog.csdn.net/liuyunyihao/article/details/125262877?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-125262877-blog-108068434.235%5Ev28%5Epc_relevant_t0_download&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-125262877-blog-108068434.235%5Ev28%5Epc_relevant_t0_download&utm_relevant_index=2

学习2:SpringBoot调用外部接口的三种方式
https://mp.weixin.qq.com/s/R0-2tvk1WktcLiERqm_1gw

到了这里,关于【Java】汇总Java中发送HTTP请求的7种方式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • hutool Http 工具发送POST请求的几种方式。

    Hutool是一个Java工具库,提供了丰富的功能模块,包括HTTP请求发送。以下是使用Hutool发送POST请求的几种方式: 使用HttpUtil.post方法: 使用HttpUtil.post方法可以发送简单的POST请求,示例如下: 使用HttpUtil.createPost方法: 使用HttpUtil.createPost方法可以创建一个HttpPost对象,然后设置

    2024年02月13日
    浏览(30)
  • (一)python发送HTTP 请求的两种方式(get和post )

    注:发送请求(包括请求行、方法类型、头、体) 常见的请求方式有get、post、put、delete            格式:requests.get() (内容: url必填; params选填:url参数字典) # ~ 无参数的get请求 # ~ 有参数的get请求 # ~ 使用params的get请求        知识扩展#  requests.post() post请求分为5种,常用

    2024年02月02日
    浏览(56)
  • java发送Http请求

    使用java 11添加的HttpClient新API发送Http(Https)请求 HTTP客户端是在Java 11中添加的。它可以用于通过网络请求HTTP资源。它支持 HTTP / 1.1和HTTP / 2(同步和异步编程模型),将请求和响应主体作为反应流处理,并遵循熟悉的构建器模式。 参考文章:https://blog.csdn.net/allway2/article/detail

    2023年04月12日
    浏览(31)
  • 用java发送http请求

    在 Java 中发送 HTTP 请求可以使用标准的 Java 库或者第三方库。这里介绍使用 Java 标准库中的 HttpURLConnection 类来发送 HTTP 请求的方法: 首先,使用 URL 类来创建一个 URL 对象,指定要访问的 URL。 使用 URL 对象的 openConnection 方法来获取 HttpURLConnection 对象。 设置 HTTP 请求的方法

    2024年02月16日
    浏览(32)
  • Java发送HTTP GET/POST请求

    在这篇文章中,将向你展示四种发送Http的GET/POST的例子,如下: 在Java11的java.net.http.*包中,有一个HttpClient类可以完成HTTP请求。 Java11HttpClientExample.java 本例使用HttpURLConnection(http)和HttpsURLConnection(https) HttpURLConnectionExample.java 使用Apache HttpClient完成HTTP请求的发送需要添加Maven依赖

    2024年02月13日
    浏览(29)
  • Java 发送Http请求携带中文参数时 请求报400的错误请求

    在 Java 中,URL 中不能直接包含中文字符,因为 URL 规范要求 URL 必须是 ASCII 字符。如果需要在 URL 中传递中文参数,需要对中文参数进行 URL 编码,将其转换为浏览器中的参数形式。可以使用 java.net.URLEncoder 类来进行 URL 编码。

    2024年02月11日
    浏览(32)
  • java 发送 http 请求练习两年半(HttpURLConnection)

    1、起一个 springboot 程序做 http 测试: 2、写一个 HttpURLConnection 自定义客户端 3、测试 get 和 post 请求 4、控制台输出结果 中间遇到一些坑,经常以为 http 会有方法像 openfeign 那样传入请求参数,忽略了路径拼接, 启动的 springboot 接收的 post 的请求体为 List 类型,且 Content-Type

    2023年04月22日
    浏览(35)
  • java http get post 和 发送json数据请求

    浏览器请求效果       main调用  

    2024年02月16日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包