首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Java8 HttpClient 4.5 HttpGet和HttpPost合二为一

Java8 HttpClient是Java 11之前的标准库中的一个模块,用于发送HTTP请求和处理HTTP响应。它提供了HttpGet和HttpPost两个类来分别发送GET和POST请求,但在Java 11之后,HttpClient进行了重大改进,HttpGet和HttpPost已经被废弃。

在Java 11及更高版本中,可以使用新的HttpClient类来发送HTTP请求。这个新的HttpClient类提供了更简洁、更灵活的API,可以同时支持GET和POST请求,不再需要分别使用HttpGet和HttpPost。

下面是Java 11及更高版本中使用HttpClient发送GET和POST请求的示例代码:

  1. 发送GET请求:
代码语言:txt
复制
import java.net.URI;
import java.net.http.HttpClient;
import import java.net.http.HttpRequest;
import import java.net.http.HttpResponse;

public class HttpClientExample {
    public static void main(String[] args) throws Exception {
        HttpClient client = HttpClient.newHttpClient();
        HttpRequest request = HttpRequest.newBuilder()
                .uri(new URI("http://example.com"))
                .build();

        HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());

        System.out.println("Response Code: " + response.statusCode());
        System.out.println("Response Body: " + response.body());
    }
}
  1. 发送POST请求:
代码语言:txt
复制
import java.net.URI;
import java.net.http.HttpClient;
import import java.net.http.HttpRequest;
import import java.net.http.HttpResponse;
import import java.net.http.HttpHeaders;
import import java.net.http.HttpResponse.BodyHandlers;
import import java.net.http.HttpRequest.BodyPublishers;

public class HttpClientExample {
    public static void main(String[] args) throws Exception {
        HttpClient client = HttpClient.newHttpClient();
        HttpRequest request = HttpRequest.newBuilder()
                .uri(new URI("http://example.com"))
                .POST(BodyPublishers.ofString("request body"))
                .build();

        HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());

        System.out.println("Response Code: " + response.statusCode());
        System.out.println("Response Body: " + response.body());
    }
}

以上示例代码中,我们使用HttpClient类创建一个HTTP客户端,然后使用HttpRequest类构建请求对象,设置请求的URI和请求方法(GET或POST),并可以设置请求头和请求体。最后,使用client.send方法发送请求,并使用HttpResponse类获取响应结果。

Java 11的HttpClient具有更好的性能和更丰富的功能,适用于各种场景,如Web服务调用、爬虫、API请求等。

腾讯云提供了丰富的云计算产品,其中与Java开发相关的产品包括云服务器、云数据库、云函数、云存储等。您可以根据具体需求选择适合的产品。更多关于腾讯云产品的信息,请访问腾讯云官方网站:https://cloud.tencent.com/

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • HttpClient使用不当,服务挂了,是时候系统学习一下了

    HttpClient是用来编程实现HTTP调用的一款框架,它是Apache Jakarta Common下的子项目,相比传统JDK自带的URLConnection,增加了易用性灵活性。...在HTTP 1.0HTTP1.1中利用KeepAlive保持持久连接。 直接获取服务器发送的response code headers。 设置连接超时的能力。...支持自动(跳转)转向; 关于以上特性,了解即可,用到时再进行深入学习实践。...创建请求方法实例:GET请求创建HttpGet对象,POST请求创建HttpPost对象,并在对象构建时指定请求URL。...设置请求参数:调用HttpGetHttpPost共同的setParams(HetpParams params)方法来添加请求参数;HttpPost也可调用setEntity(HttpEntity entity

    1.6K10

    Java中使用HttpClient调用api

    一.简介 HttpClient是Apache Jakarta Common下的子项目,用来提供高效的、最新的、功能丰富的支持HTTP协议的客户端编程工具包,并且它支持HTTP协议最新的版本建议。...HttpClient已经应用在很多的项目中,比如Apache Jakarta上很著名的另外两个开源项目CactusHTMLUnit都使用了HttpClient。 二.特性 1....在http1.0http1.1中利用KeepAlive保持持久连接。 15. 直接获取服务器发送的response code headers。 16. 设置连接超时的能力。 17....如果需要发送GET请求,创建HttpGet对象;如果需要发送POST请求,创建HttpPost对象。...如果需要发送请求参数,可调用HttpGetHttpPost共同的setParams(HetpParams params)方法来添加请求参数;对于HttpPost对象而言,也可调用setEntity(HttpEntity

    3K40

    java(优化21) httpClient使用详解

    Http协议的重要性相信不用我多说了,HttpClient相比传统JDK自带的URLConnection,增加了易用性灵活性(具体区别,日后我们再讨论),它不仅是客户端发送Http请求变得容易,而且也方便了开发人员测试接口...一、简介 HttpClient是Apache Jakarta Common下的子项目,用来提供高效的、最新的、功能丰富的支持HTTP协议的客户端编程工具包,并且它支持HTTP协议最新的版本建议。...HttpClient已经应用在很多的项目中,比如Apache Jakarta上很著名的另外两个开源项目CactusHTMLUnit都使用了HttpClient。...如果需要发送GET请求,创建HttpGet对象;如果需要发送POST请求,创建HttpPost对象。 3. ...如果需要发送请求参数,可调用HttpGetHttpPost共同的setParams(HetpParams params)方法来添加请求参数;对于HttpPost对象而言,也可调用setEntity(HttpEntity

    99040
    领券