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");
}
相关文章
|
7天前
|
JSON Java Apache
非常实用的Http应用框架,杜绝Java Http 接口对接繁琐编程
UniHttp 是一个声明式的 HTTP 接口对接框架,帮助开发者快速对接第三方 HTTP 接口。通过 @HttpApi 注解定义接口,使用 @GetHttpInterface 和 @PostHttpInterface 等注解配置请求方法和参数。支持自定义代理逻辑、全局请求参数、错误处理和连接池配置,提高代码的内聚性和可读性。
|
17天前
|
缓存 前端开发 API
|
6天前
|
JSON API 数据格式
Python中获取HTTP请求响应体的详解
本文介绍了如何使用Python的`requests`和`urllib`库发送HTTP请求并处理响应体。`requests`库简化了HTTP请求过程,适合快速开发;`urllib`库则更为底层,适用于性能要求较高的场景。文章详细演示了发送GET请求、处理JSON响应等常见操作。
|
4天前
|
安全 API 网络安全
使用OkHttp进行HTTPS请求的Kotlin实现
使用OkHttp进行HTTPS请求的Kotlin实现
|
11天前
|
前端开发 JavaScript Java
如何捕获和处理HTTP GET请求的异常
如何捕获和处理HTTP GET请求的异常
|
13天前
|
开发者
HTTP 协议请求方法的发展历程
【10月更文挑战第21天】
|
13天前
|
安全
HTTP 协议的请求方法
【10月更文挑战第21天】
|
13天前
|
缓存 安全 前端开发
HTTP 协议的请求方法在实际应用中有哪些注意事项?
【10月更文挑战第29天】HTTP协议的请求方法在实际应用中需要根据具体的业务场景和需求,合理选择和使用,并注意各种方法的特点和限制,以确保网络通信的安全、高效和数据的一致性。
|
18天前
|
存储 Java API
Java实现导出多个excel表打包到zip文件中,供客户端另存为窗口下载
Java实现导出多个excel表打包到zip文件中,供客户端另存为窗口下载
25 4
|
17天前
|
安全 API 数据安全/隐私保护
常见的HTTP请求方法
【10月更文挑战第25天】这些HTTP请求方法共同构成了客户端与服务器之间交互的基础,使得客户端能够根据不同的需求对服务器资源进行各种操作。在实际应用中,开发者需要根据具体的业务场景和资源的性质选择合适的请求方法来实现客户端与服务器之间的有效通信。