All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.gitee.loulan_yxq.owner.http.HttpTool Maven / Gradle / Ivy

The newest version!
package io.gitee.loulan_yxq.owner.http;

import io.gitee.loulan_yxq.owner.core.collection.ArrayTool;
import io.gitee.loulan_yxq.owner.core.tool.CharsetTool;
import io.gitee.loulan_yxq.owner.http.enums.CharsetEnum;

import java.io.InputStream;
import java.nio.charset.Charset;
import java.util.Map;
import java.util.Optional;

/*********************************************************
 ** http请求工具类
 ** 

** Date: Created in 2021/11/1 14:45 ** @author loulan ** @version 0.0.0 *********************************************************/ public class HttpTool { /** * get请求获取数据(默认编码模式UTF-8) * * @param url 请求的路径地址 * @return 字符串响应结果 * @author :loulan */ public static String get(String url) { return get(url, CharsetTool.defaultCharset()); } /** * get请求获取数据(默认编码模式UTF-8) * * @param url 请求的路径地址 * @param headers 请求头 * @param paramMap 参数的map集合 * @return 字符串响应结果 * @author :loulan */ public static String get(String url, Map headers, Map paramMap) { return get(url, CharsetTool.defaultCharset(), headers, paramMap); } /** * get请求获取数据(默认编码模式UTF-8) * * @param url 请求的路径地址 * @param paramMap 参数的map集合 * @return 字符串响应结果 * @author :loulan */ public static String get(String url, Map paramMap) { return get(url, CharsetTool.defaultCharset(), paramMap); } /** * get请求获取数据 * * @param url 请求的路径地址 * @param charset 编码方式 * @return 字符串响应结果 * @author :loulan */ public static String get(String url, Charset charset) { return get(url, charset, null); } /** * get请求获取数据 * * @param url 请求的路径地址 * @param charset 编码方式 * @param paramMap 参数的map集合 * @return 字符串响应结果 * @author :loulan */ public static String get(String url, Charset charset, Map paramMap) { return get(url, charset, null, paramMap); } /** * get请求获取数据 * * @param url 请求的路径地址 * @param charset 编码方式 * @return 字符串响应结果 * @author :loulan */ public static String get(String url, String charset) { return get(url, charset, null); } /** * get请求获取数据 * * @param url 请求的路径地址 * @param charset 编码方式 * @param paramMap 参数的map集合 * @return 字符串响应结果 * @author :loulan */ public static String get(String url, String charset, Map paramMap) { return get(url, CharsetTool.toCharset(charset), paramMap); } /** * get请求获取数据 * * @param url 请求的路径地址 * @param charset 编码方式 * @param headers 请求头 * @param paramMap 参数的map集合 * @return 字符串响应结果 * @author :loulan */ public static String get(String url, Charset charset, Map headers, Map paramMap) { return request(url, HttpMethod.GET, charset, headers, paramMap, null); } /** * get请求获取数据(默认编码模式UTF-8) * * @param url 请求的路径地址 * @return 字符串响应结果 * @author :loulan */ public static InputStream getStream(String url) { return getStream(url, CharsetTool.defaultCharset()); } /** * get请求获取数据(默认编码模式UTF-8) * * @param url 请求的路径地址 * @param headers 请求头 * @param paramMap 参数的map集合 * @return 字符串响应结果 * @author :loulan */ public static InputStream getStream(String url, Map headers, Map paramMap) { return getStream(url, CharsetTool.defaultCharset(), headers, paramMap); } /** * get请求获取数据(默认编码模式UTF-8) * * @param url 请求的路径地址 * @param paramMap 参数的map集合 * @return 字符串响应结果 * @author :loulan */ public static InputStream getStream(String url, Map paramMap) { return getStream(url, CharsetTool.defaultCharset(), paramMap); } /** * get请求获取数据 * * @param url 请求的路径地址 * @param charset 编码方式 * @return 字符串响应结果 * @author :loulan */ public static InputStream getStream(String url, Charset charset) { return getStream(url, charset, null); } /** * get请求获取数据 * * @param url 请求的路径地址 * @param charset 编码方式 * @param paramMap 参数的map集合 * @return 字符串响应结果 * @author :loulan */ public static InputStream getStream(String url, Charset charset, Map paramMap) { return getStream(url, charset, null, paramMap); } /** * get请求获取数据 * * @param url 请求的路径地址 * @param charset 编码方式 * @return 字符串响应结果 * @author :loulan */ public static InputStream getStream(String url, String charset) { return getStream(url, charset, null); } /** * get请求获取数据 * * @param url 请求的路径地址 * @param charset 编码方式 * @param paramMap 参数的map集合 * @return 字符串响应结果 * @author :loulan */ public static InputStream getStream(String url, String charset, Map paramMap) { return getStream(url, CharsetTool.toCharset(charset), paramMap); } /** * get请求获取数据 * * @param url 请求的路径地址 * @param charset 编码方式 * @param headers 请求头 * @param paramMap 参数的map集合 * @return 字符串响应结果 * @author :loulan */ public static InputStream getStream(String url, Charset charset, Map headers, Map paramMap) { return requestStream(url, HttpMethod.GET, charset, headers, paramMap, null); } /** * post请求获取数据(默认编码模式UTF-8) * * @param url 请求的路径地址 * @return 字符串响应结果 * @author :loulan */ public static String post(String url) { return post(url, (Charset) null, null); } /** * post请求获取数据(默认编码模式UTF-8) * * @param url 请求的路径地址 * @param bodyJson 请求体 * @return 字符串响应结果 * @author :loulan */ public static String post(String url, String bodyJson) { return post(url, (Charset) null, null, bodyJson); } /** * post请求获取数据 * * @param url 请求的路径地址 * @param charset 编码方式 * @return 字符串响应结果 * @author :loulan */ public static String post(String url, Charset charset, String bodyJson) { return post(url, charset, null, bodyJson); } /** * post请求获取数据 * * @param url 请求的路径地址 * @param charset 编码方式 * @return 字符串响应结果 * @author :loulan */ public static String post(String url, String charset, String bodyJson) { return post(url, CharsetTool.toCharset(charset), bodyJson); } /** * post请求获取数据 * * @param url 请求的路径地址 * @param charset 编码方式 * @param paramMap 参数的map集合 * @param bodyJson 请求体 * @return 字符串响应结果 * @author :loulan */ public static String post(String url, String charset, Map paramMap, String bodyJson) { return post(url, CharsetTool.toCharset(charset), paramMap, bodyJson); } /** * post请求获取数据 * * @param url 请求的路径地址 * @param charset 编码方式 * @param paramMap 参数的map集合 * @param bodyJson 请求体 * @return 字符串响应结果 * @author :loulan */ public static String post(String url, Charset charset, Map paramMap, String bodyJson) { return request(url, HttpMethod.POST, charset, null, paramMap, bodyJson); } /** * post请求获取数据(默认编码模式UTF-8) * * @param url 请求的路径地址 * @return 字符串响应结果 * @author :loulan */ public static InputStream postStream(String url) { return postStream(url, (Charset) null, null); } /** * post请求获取数据(默认编码模式UTF-8) * * @param url 请求的路径地址 * @param bodyJson 请求体 * @return 字符串响应结果 * @author :loulan */ public static InputStream postStream(String url, String bodyJson) { return postStream(url, (Charset) null, null, bodyJson); } /** * post请求获取数据 * * @param url 请求的路径地址 * @param charset 编码方式 * @return 字符串响应结果 * @author :loulan */ public static InputStream postStream(String url, Charset charset, String bodyJson) { return postStream(url, charset, null, bodyJson); } /** * post请求获取数据 * * @param url 请求的路径地址 * @param charset 编码方式 * @return 字符串响应结果 * @author :loulan */ public static InputStream postStream(String url, String charset, String bodyJson) { return postStream(url, CharsetTool.toCharset(charset), bodyJson); } /** * post请求获取数据 * * @param url 请求的路径地址 * @param charset 编码方式 * @param paramMap 参数的map集合 * @param bodyJson 请求体 * @return 字符串响应结果 * @author :loulan */ public static InputStream postStream(String url, String charset, Map paramMap, String bodyJson) { return postStream(url, CharsetTool.toCharset(charset), paramMap, bodyJson); } /** * post请求获取数据 * * @param url 请求的路径地址 * @param charset 编码方式 * @param paramMap 参数的map集合 * @param bodyJson 请求体 * @return 字符串响应结果 * @author :loulan */ public static InputStream postStream(String url, Charset charset, Map paramMap, String bodyJson) { return requestStream(url, HttpMethod.POST, charset, null, paramMap, bodyJson); } /** * 请求获取数据 * * @param url 请求的路径地址 * @param method 请求方法 * @param charset 编码方式 * @param headers 请求头,没有可以为null * @param paramMap 参数的集合,没有可以为null * @param bodyJson 请求体,没有可以为null * @return 字符串响应结果 * @author :loulan */ public static String request(String url, HttpMethod method, Charset charset, Map headers, Map paramMap, String bodyJson) { return HttpRequest.Builder.request(url) .method(method) .headers(headers) .param(paramMap) .body(bodyJson) .build() .execute() .charset(charset) .body(); } /** * 请求获取数据 * * @param url 请求的路径地址 * @param method 请求方法 * @param charset 编码方式 * @param headers 请求头,没有可以为null * @param paramMap 参数的集合,没有可以为null * @param bodyJson 请求体,没有可以为null * @return 字符串响应结果 * @author :loulan */ public static InputStream requestStream(String url, HttpMethod method, Charset charset, Map headers, Map paramMap, String bodyJson) { return HttpRequest.Builder.request(url) .method(method) .headers(headers) .param(paramMap) .body(bodyJson) .build() .execute() .charset(charset) .bodyStrem(); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy