java后台发送URL请求工具类

向指定URL发送POST或GET请求工具类-JAVA项目 如题,发送GET或Post请求的工具类,  这个在很多项目中都会有用到的package util; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStream; import java.net.URL; import... 阅读详情

第一步引入http依赖

    <dependency>
        <groupId>commons-httpclient</groupId>
        <artifactId>commons-httpclient</artifactId>
        <version>3.0-rc4</version>
    </dependency>

    <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpclient</artifactId>
        <version>4.5.3</version>
    </dependency>

第二步创建工具类

	package com.len.utils;
	import com.alibaba.fastjson.JSON;
	import com.fasterxml.jackson.databind.ObjectMapper;
	import org.apache.http.HttpEntity;
	import org.apache.http.HttpResponse;
	import org.apache.http.client.ClientProtocolException;
	import org.apache.http.client.methods.HttpPost;
	import org.apache.http.entity.StringEntity;
	import org.apache.http.impl.client.DefaultHttpClient;
	import java.io.*;
	import java.net.HttpURLConnection;
	import java.net.URL;
	import java.util.List;
	import java.util.Map;
	
	/**
	 * @Author ful
	 * @Description:
	 * @Date in 16:11 2018/10/17
	 * @Modify By:
	 */
	public class HttpUtils {
	
	    private static ObjectMapper objectMapper = new ObjectMapper();
	
	    public static Map<String,Object> httpGet(String url, Map<String, String> parameters) {
	        String result="";
	        BufferedReader in = null;// 读取响应输入流
	        StringBuffer sb = new StringBuffer();// 存储参数
	        String params = "";// 编码之后的参数
	        try {
	            // 编码请求参数
	            if(parameters.size()==1){
	                for(String name:parameters.keySet()){
	                    sb.append(name).append("=").append(
	                            java.net.URLEncoder.encode(parameters.get(name),
	                                    "UTF-8"));
	                }
	                params=sb.toString();
	            }else{
	                for (String name : parameters.keySet()) {
	                    sb.append(name).append("=").append(
	                            java.net.URLEncoder.encode(parameters.get(name),
	                                    "UTF-8")).append("&");
	                }
	                String temp_params = sb.toString();
	                params = temp_params.substring(0, temp_params.length() - 1);
	            }
	            String full_url = url + "?" + params;
	            System.out.println(full_url);
	            // 创建URL对象
	            URL connURL = new URL(full_url);
	            // 打开URL连接
	            HttpURLConnection httpConn = (HttpURLConnection) connURL
	                    .openConnection();
	            // 设置通用属性
	            httpConn.setRequestProperty("Accept", "*/*");
	            httpConn.setRequestProperty("Connection", "Keep-Alive");
	            httpConn.setRequestProperty("User-Agent",
	                    "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)");
	            // 建立实际的连接
	            httpConn.connect();
	            // 响应头部获取
	            Map<String, List<String>> headers = httpConn.getHeaderFields();
	            // 遍历所有的响应头字段
	            for (String key : headers.keySet()) {
	                System.out.println(key + "\t:\t" + headers.get(key));
	            }
	            // 定义BufferedReader输入流来读取URL的响应,并设置编码方式
	            in = new BufferedReader(new InputStreamReader(httpConn
	                    .getInputStream(), "UTF-8"));
	            String line;
	            // 读取返回的内容
	            while ((line = in.readLine()) != null) {
	                result +=line;
	            }
	        } catch (Exception e) {
	            e.printStackTrace();
	        }finally{
	            try {
	                if (in != null) {
	                    in.close();
	                }
	            } catch (IOException ex) {
	                ex.printStackTrace();
	            }
	        }
	        Map<String,Object> result_map = JSON.parseObject(result);
	        return result_map ;
	    }
	
	
	
	    /**
	     * http请求工具类,post请求
	     *
	     * @param url    url
	     * @param params 参数值 仅支持String和list两种类型
	     * @return
	     * @throws Exception
	     */
	    public static Map<String,Object> httpPost(String url, Map<String, Object> params) {
	        DefaultHttpClient defaultHttpClient = null;
	        BufferedReader bufferedReader = null;
	        try {
	            defaultHttpClient = new DefaultHttpClient();
	            HttpPost httpPost = new HttpPost(url);
	            httpPost.setHeader("Content-Type", "application/json;charset=ut-8");
	            if (params != null) {
	                //转换为json格式并打印,不需要的你们可以不要
	                String jsonParams = objectMapper.writeValueAsString(params);
	
	                HttpEntity httpEntity = new StringEntity(jsonParams, "utf-8");
	                httpPost.setEntity(httpEntity);
	            }
	            HttpResponse httpResponse = defaultHttpClient.execute(httpPost);
	            if (httpResponse.getStatusLine().getStatusCode() != 200) {
	                String errorLog="请求失败,errorCode:"+httpResponse.getStatusLine().getStatusCode();
	
	
	            }
	            //读取返回信息
	            String output;
	            bufferedReader=new BufferedReader(new InputStreamReader(httpResponse.getEntity().getContent(),"utf-8"));
	            StringBuilder stringBuilder=new StringBuilder();
	            while ((output=bufferedReader.readLine())!=null){
	                stringBuilder.append(output);
	            }
	            Map<String,Object> result_map = JSON.parseObject(stringBuilder.toString());
	            return result_map;
	        } catch (ClientProtocolException e) {
	            e.printStackTrace();
	          return null;
	        }catch (IOException e){
	            e.printStackTrace();
	         return null;
	        }finally {
	            if(defaultHttpClient!=null)
	                defaultHttpClient.getConnectionManager().shutdown();
	            if(bufferedReader!=null) {
	                try {
	                    bufferedReader.close();
	                } catch (IOException e) {
	                    e.printStackTrace();
	                }
	            }
	        }
	    }
	
	}
JAVA后台发送http请求 JAVA后台发送http请求 代码: @RequestMapping("/check") @ResponseBody public Map check(Integer cashRecordId,Integer status,Integer clientId) { Map map = new HashMap&lt;&gt;(); PrintWrite... 阅读详情

相关推荐

Java使用原生HttpURLConnection实现发送HTTP请求

HttpURLConnection 是 Java 提供的原生标准的用于发送 HTTP 请求和接收 HTTP 响应的一个类,它位于 java.net 包下,并继承了 URLConnection 类。HttpURLconnection 是基于 HTTP 协议的,支持 get,post,put,delete 等各种请求方式,最常用的就是 get 和 post。URLConnection 提供了一组方法来建立与 URL 之间的连接、发送请求和接收响应。

pan_junbiao的博客 1980

JAVA http请求工具类

路由在这里就不展开讲了。在没有 PATCH 之前,都是用 PUT 进行更新操作,这时候我们的接口中通常会有一个逻辑规则,如:如果对象的一个属性值为null,那么就不更新该属性(字段)值,通过这种方式来避免全部覆盖的操作。另外,PATCH 是非幂等的。按照 REST 建议,查询操作要使用 GET 方法,但是实际情况中处理起来比较麻烦,如:报表统计查询,需要传递的参数很多,如果采用 GET 方法,那么接口接收的参数非常多,接口很难看,通常会封装为 java 对象,但 GET 方法又不支持对象传参,所以很蛋疼;

weixin_66204660的博客 1976

实现一个发送POST请求的工具类的步骤

通过实现一个发送POST请求的工具类,我们可以为Java开发提供一个方便、高效的工具,用于与远程服务器进行数据交互。在具体使用时,可以根据实际需求对工具类进行定制和扩展,例如添加请求头信息、处理请求参数等。学习教程(传送门)1、掌握JAVA入门到进阶知识(持续写作中……2、学会Oracle数据库用法(创作中……3、手把手教你vbs脚本制作(完善中……4、牛逼哄哄的IDEA编程利器(编写中……5、吐血整理的面试技巧(更新中……往期文章。

王大师企业官方博客 3574

java HTTP请求工具类

对于很多Java工程师而言,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长且无助。整理的这些资料希望对Java开发的朋友们有所参考以及少走弯路,本文的重点是你有没有收获与成长,其余的都不重要,希望读者们能谨记这一点。再分享一波我的Java面试真题+视频学习详解+技能进阶书籍ception(“请求失败”);} else {对于很多Java工程师而言,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长且无助。

2401_85192431的博客 508

Java实现向指定URL用POST方法发送Json格式字符串参数请求的工具类

场景 SpringBoot项目中通过后台Controller向某服务接口发送POST请求。 实现 在项目pom.xml中添加依赖 <dependency> <groupId>commons-net</groupId> <artifactId>commons-net</artifactI...

BADAO_LIUMANG_QIZHI的博客 2792

commons-httpclient-3.0-rc4.rar

commons-httpclient-3.0-rc4.rar

Java URL访问并读取返回内容 工具类

import java.io.BufferedReader;import java.io.InputStreamReader;import java.net.URL;import java.net.URLConnection;public class Test(){    private static String pushUrl= "http://****";    public static ...

任玉 1239

Java发送Http请求工具类

这是一个java发送get、post请求,并得到返回结果的工具类。

java短信验证接口_java代码实现调用短信接口,发送短信验证。

packagecom.aaa.zxf.login;importorg.apache.commons.httpclient.HttpClient;importorg.apache.commons.httpclient.NameValuePair;importorg.apache.commons.httpclient.methods.PostMethod;importorg.dom4j.Documen...

weixin_42394785的博客 302

使用 STM32F7 和 TensorFlow Lite 开发低功耗人脸识别设备

我们讨论了 STM32F7 的特点和能力,TensorFlow Lite 在 STM32F7 上的应用,以及一些降低功耗的优化技术。- 准备模型:选择合适的人脸识别模型,在 TensorFlow 中进行训练和导出,并使用 TensorFlow Lite 转换为适用于 STM32F7 的量化模型。请注意,上述代码仅展示了如何加载和运行 TensorFlow Lite 模型的方法,实际应用中需要集成人脸检测和识别模型,并根据实际需求进行相应的输入和输出处理。结合这两个工具,我们可以开发出低功耗的人脸识别设备。

weixin_66608063的博客 2588

Zenoh:统一数据平面协议,重塑物联网与边缘计算架构

在分布式系统与物联网领域,数据通信与处理常面临协议割裂的挑战。传统方案如MQTT、Kafka、gRPC等,分别针对发布/订阅、流处理和RPC等不同场景,导致架构复杂、集成成本高。其核心问题在于未能统一处理“运动中数据”(Data in Motion)与“静止中数据”(Data at Rest)。Zenoh协议通过创新的“Key-Value”寻址与“Selector”查询语言,将发布/订阅、存储、查询和计算四种核心操作融合进单一协议,构建了统一的抽象层。这种设计实现了极低的协议开销(仅5字节头部)和地理分布式

weixin_29597551的博客 291

Spring Data JPA采用Maven搭建项目实现及常用问题解析

1. 问题总结    (1) Spring data jpa 对常用的增删改查还是非常方便,对于动态SQL查询则不太方便和有一定的学习成本,当然这也是它ORM模式的特点    (2) 配置pom时需要注意spring、spring data jpa 、hibernate的版本组合,本文第一点中的版本为可用组合版本     (3) 如何将JpaRepository接口 和 实现类(用实现类的方...

路西法 1878

穿透鼠标实现后台点击,适用于任何窗口!【后台鼠标】【风雪】

也许你就是被这标题吸引来的,呵呵!好久没发帖了,勾引一下大家的胃口,当然有的人已经猜出原理了!既然来了,都要把原理学回家,不然就没意思了!很多游戏现在都不支持后台消息鼠标,要实现真的不是简单的,什么注入dll啊,什么hook俺也学不懂,那就简简单单另辟蹊径了下面来讲讲原理吧(下面的玩玩可以,用于实际不现实,俺也不藏了,看到这么多人回复,良心过意不去,呵呵)首先,将要点击的窗口上面覆盖的所有窗...

weixin_34129145的博客 1万+

HttpUrlConnection使用Get和Post访问服务器的工具类(一)

首先我们有一个返回响应的接口HttpCallBackListener public interface HttpCallbackListener { void onFinish(String response); void onError(Exception e); } 然后就是工具类的主体了 import android.util.Log; ...

weixin_30915275的博客 163

脑机接口最新发展动态报告 (2024-2025)

脑机接口动态

高山 4108

详解APM的开方控制器sqrt_controller

前言 前面说过,sqrt_controller是对P项进行整定用途的,目的就是让P项的控制响应“软”下来,实际上就是一个经过改进的P控制器。读懂了sqrt_controller,那么你对APM的P控制器就了解得差不多了。 仅讨论P控制器,sqrt_controller的作用就是设定一个量linear_dist,以这个量的正负值为分界线划分出一个线性区域范围,在这个范围内表示误差量还很小,遵循Kp*error计算方式输出控制量。 超过linear_dist后,表明误差较大,此时不能由着误差单纯按照线性方式乘以

moumde的博客 4897

JAVA发送GET、POST请求,携带请求头,接收解析返回值(通过URL)

Java发送get/post请求,获取响应结果,这是一个常见操作。为此封装一个Java类,做发送GET/POST请求,然后解析返回参数。

偷得浮生半日闲 6万+

【ESP32摄像头开发实例】-视频流接入Home Assistant

在这个项目中,我们将使用ESP32-CAM板构建一个IP监控摄像头。ESP32摄像头将托管一个视频流媒体网络服务器,您可以使用网络中的任何设备进行访问。

视觉与物联智能 793

JAVA后台发送http请求工具类

有三个方法,一个GET请求 两个POST请求(分别是传String 和JSON格式的)。 package com.wangyj.util; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWrite...

常雪恨's Blog 1584

提示词工程在机器翻译质量提升中的应用

Introduction to Prompt Engineering in Machine Translation Quality Improvement Keywords

AI天才研究院 1151

SAP 物料的与压缩库存数据不一致

总结:发生这个问题的原因多数会发生在测试系统在拷贝正式系统的时候会发生这样的情况,系统在拷贝的时候,业务数据还在发生,就会导致数据拷贝的时候丢失数据。经过查询发现是由于物料分类账中的物料的库存数量和 ACDOCA_M_EXTRACT表中的数量对不上,导致系统抛出报错的信息。由于是测试系统,直接更改表的数据,把ACDOCA_M_EXTRACT表中的库存数据和金额与物料分类账中的数据保持一致。在测试系统中进行501和561增加库存的时候,系统提示物料的预压缩库存数据不一致的报错。

我小时候很黑的博客 3308

java后台发送请求工具类

import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.BufferedReader; import java.net.HttpURLConnection; import java.net.URL; import java.util.HashMap; import java.util....

A2735856944的博客 337

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Java httpClient发送post请求工具类

Java httpClient发送post请求工具类 public static String send(String url, JSONObject jsonObject, String encoding) throws IOException { String body = ""; //创建httpclient对象 CloseableHttpClient client = HttpClients.createDefault(); //创

weixin_44021888的博客 1463

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Http发送请求工具类

Http发送请求工具类 package com.risen.wechat.unit; import com.risen.hp.fastjson.JSONObject; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintW...

qq_36778310的博客 397

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

post发送请求工具类

package com.ruoyi.common.utils; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.PrintStream; import java.net.HttpURLConnection; import java.net.URL; public class PostUtil { /** * * @param url * @param qu

lemonmr的博客 1152

JAVA访问url工具类

JAVA访问url工具类(包含post和get方式请求) package org.hyena.hr.analysisReport.util; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; impor...

qq_33172029的博客 724
上一篇: 关于SpringBoot服务端口、项目前缀的配置
下一篇: mysql查询当天,周,月,季度,年 数据
苏乞儿丶
博客等级 码龄9年 22粉丝 47原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值