Java
来源:互联网 发布:如何登陆阿里云服务器 编辑:程序博客网 时间:2024/05/17 01:25
Java后台经常要发送http请求,就需要用到HttpClient工具,因为目前的技术有限,所以只简单的封装了一个HttpClient的工具类,在以后的使用过程中,我会不断的完善和更新该工具类.
下面附上代码
maven依赖
<dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.2</version></dependency>工具类
package com.xiaohh.util;import org.apache.http.HttpEntity;import org.apache.http.NameValuePair;import org.apache.http.client.ClientProtocolException;import org.apache.http.client.HttpClient;import org.apache.http.client.entity.UrlEncodedFormEntity;import org.apache.http.client.methods.CloseableHttpResponse;import org.apache.http.client.methods.HttpGet;import org.apache.http.client.methods.HttpPost;import org.apache.http.entity.StringEntity;import org.apache.http.impl.client.CloseableHttpClient;import org.apache.http.impl.client.HttpClients;import org.apache.http.message.BasicNameValuePair;import java.io.*;import java.nio.charset.Charset;import java.util.*;/** * httpClient 工具类 */public class HttpClientUtil { private HttpClientUtil() {} public static HttpClientUtil getInstance() { return new HttpClientUtil(); } /** * 发送get请求 * @param url 请求地址 * @return 服务器响应字符串 */ public String sendGetRequest(String url) { CloseableHttpClient httpClient = HttpClients.createDefault(); HttpGet httpGet = new HttpGet(url.trim()); StringBuilder result = new StringBuilder(); try { CloseableHttpResponse response = httpClient.execute(httpGet); HttpEntity entity = response.getEntity(); InputStream inputStream = entity.getContent(); BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream)); String line = null; while((line = bufferedReader.readLine()) != null) { result.append(line); } inputStream.close(); bufferedReader.close(); response.close(); httpClient.close(); } catch (IOException e) { e.printStackTrace(); } return result.toString(); } /** * 发送post_form请求 * @param url 请求地址 * @param data 请求参数 * @return 服务器响应字符串 */ public String sendPostFormRequest(String url, Map<String, String> data) { CloseableHttpClient httpClient = HttpClients.createDefault(); HttpPost httpPost = new HttpPost(url.trim()); List<NameValuePair> params = new ArrayList<NameValuePair>(); StringBuilder result = new StringBuilder(); for(Map.Entry<String, String> entry : data.entrySet()) { String key = entry.getKey(); String value = entry.getValue(); params.add(new BasicNameValuePair(key, value)); } try { UrlEncodedFormEntity urlEntity = new UrlEncodedFormEntity(params, "utf-8"); httpPost.setEntity(urlEntity); CloseableHttpResponse response = httpClient.execute(httpPost); HttpEntity entity = response.getEntity(); InputStream inputStream = entity.getContent(); BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream)); String line = null; while((line = bufferedReader.readLine()) != null) { result.append(line); } inputStream.close(); bufferedReader.close(); response.close(); httpClient.close(); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } catch (ClientProtocolException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return result.toString(); } /** * 发送post请求 * @param url 请求地址 * @param json 请求字符串 * @return 服务器响应字符串 */ public String sendPostRequest(String url, String json) { CloseableHttpClient httpClient = HttpClients.createDefault(); HttpPost httpPost = new HttpPost(url.trim()); StringBuilder result = new StringBuilder(); httpPost.setHeader("Content-type", "application/json; charset=utf-8"); StringEntity urlEntity = new StringEntity(json, Charset.forName("UTF-8")); urlEntity.setContentEncoding("UTF-8"); urlEntity.setContentType("application/json"); httpPost.setEntity(urlEntity); try { httpPost.setEntity(urlEntity); CloseableHttpResponse response = httpClient.execute(httpPost); HttpEntity entity = response.getEntity(); InputStream inputStream = entity.getContent(); BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream)); String line = null; while((line = bufferedReader.readLine()) != null) { result.append(line); } inputStream.close(); bufferedReader.close(); response.close(); httpClient.close(); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } catch (ClientProtocolException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return result.toString(); }}
阅读全文
0 0
- java
- JAVA
- JAVA
- JAVA
- java
- Java
- Java
- JAVA:
- java
- java
- java
- java
- Java
- java
- java
- java
- JAVA?
- java
- Cookie/Session机制详解
- ExclusiveTouch的设置与作用
- SpringBoot之集成Spring AOP
- 一次代码合并事故
- Kafka 源码分析之网络层(二)
- Java
- 在Mac系统下配置PHP运行环境
- 一些iOS学习网址、博客、链接
- 序列标注,维特比算法,中文分词(含代码)
- h5 使用本地sqlite
- js自动刷新页面
- python 安装模块出现问题:UnicodeDecodeError:
- 从零写服务器
- java六大设计原则