HttpUtils方法

引入依赖:

复制代码
<!--httpclient-->
        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpclient</artifactId>
        </dependency>

<!-- io常用工具类 -->
        <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
        </dependency>
复制代码
复制代码
/**
     * 向指定 URL 发送GET方法的请求
     *
     * @param url   发送请求的 URL
     * @param headerMap 请求头参数,。
     * @param paramMap 请求参数,。
     * @return 所代表远程资源的响应结果
     */
    public static String get(String url, Map<String,Object> headerMap, Map<String,Object> paramMap) {
        String res = null;
        StringBuilder sb = new StringBuilder();
        int i = 0;
        try {
            //拼接请求参数
            for (Iterator<String> $it = paramMap.keySet().iterator(); $it.hasNext(); i++){
                String key = $it.next();
                if (i == 0){
                    sb.append("?");
                } else {
                    sb.append("&");
                }
                sb.append(key).append("=").append(paramMap.get(key));
            }
            String apiUrl = url + sb.toString();
            System.err.println("apiUrl:"+apiUrl);
            CloseableHttpClient httpClient = HttpClients.createDefault();
            HttpGet httpGet = new HttpGet(apiUrl);
            if (null != headerMap){
                Iterator<Map.Entry<String, Object>> iterator = headerMap.entrySet().iterator();
                while (iterator.hasNext()){
                    Map.Entry<String, Object> next = iterator.next();
                    httpGet.setHeader(next.getKey(), String.valueOf(next.getValue()));
                }
            }
            for (Header allHeader : httpGet.getAllHeaders()) {
                System.out.println(String.format("%s:%s", allHeader.getName(), allHeader.getValue()));
            }
            CloseableHttpResponse response = httpClient.execute(httpGet);
            int statusCode = response.getStatusLine().getStatusCode();
            if (statusCode == 200 || statusCode == 201){
                InputStream content = response.getEntity().getContent();
                res = IOUtils.toString(content, "UTF-8");
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
        return res;
    }
复制代码

 

posted @   keyboard达人  阅读(111)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示