Java发送Http请求 传参和接收

HttpURLConnection之POST请求 不仅从服务器读取数据,还有向服务器写入数据的功能,是双向交互,即通过获取到输入输出流来进行相关的数据写入和读取。这个类的使用并不陌生,通常我们都是通过这个类来封装一个请求后台数据的方法,暴露给外部使用。另因我们使用的是追踪流方式,上面的抓包内容中也看见了响应的消息。方式的请求参数放置在请求体,也就是在抓包请求报文的空行之后。回顾我们所使用的请求参数方式,无论是。三个部分构成:请求方法、请求接口和协议版本。支持多种请求方法,且在该类中有完整的状态码说明。也就是紧接着的空行之上的键值对参数。 阅读详情

发送端:

package com.hwkj.bree.until;

import com.alibaba.fastjson.JSONObject;
import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
import sun.net.www.protocol.http.HttpURLConnection;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.URL;

public class HttpUtil {

    public static void main(String[] args) {
        //传入的参数
        String datas="{id:1}";
        String url="http://127.0.0.1:8008/hello";
        String data=sendPostRequest(url,datas);
        //请求回来的数据
         System.out.println("响应结果:"+data);
    }

    public static String sendPostRequest(String url,String param){
        HttpURLConnection httpURLConnection = null;
        OutputStream out = null; //写
        InputStream in = null;   //读
        int responseCode = 0;    //远程主机响应的HTTP状态码
        String result="";
        try{
            URL sendUrl = new URL(url);
            httpURLConnection = (HttpURLConnection)sendUrl.openConnection();
            //post方式请求
            httpURLConnection.setRequestMethod("POST");
            //设置头部信息
            httpURLConnection.setRequestProperty("headerdata", "ceshiyongde");
            //一定要设置 Content-Type 要不然服务端接收不到参数
            httpURLConnection.setRequestProperty("Content-Type", "application/Json; charset=UTF-8");
            //指示应用程序要将数据写入URL连接,其值默认为false(是否传参)
            httpURLConnection.setDoOutput(true);
            //httpURLConnection.setDoInput(true);

            httpURLConnection.setUseCaches(false);
            httpURLConnection.setConnectTimeout(30000); //30秒连接超时
            httpURLConnection.setReadTimeout(30000);    //30秒读取超时
            //传入参数
            out = httpURLConnection.getOutputStream();
            out.write(param.getBytes());
            out.flush(); //清空缓冲区,发送数据
            out.close();
            responseCode = httpURLConnection.getResponseCode();
            //获取请求的资源
            BufferedReader br = new BufferedReader(new InputStreamReader(httpURLConnection.getInputStream(),"UTF-8"));
            result =br.readLine();
        }catch(Exception e) {
            e.printStackTrace();

        }
        return result;

    }
}

接收端:

接收端:

@RestController
public class FilerController {
    @PostMapping("hello")
    public String Hello(HttpServletRequest request, HttpServletResponse response){
        try {
            //接收请求参数
            InputStreamReader reader=new InputStreamReader(request.getInputStream());
            BufferedReader buffer=new BufferedReader(reader);
            String data=buffer.readLine();
            System.out.println("传入参数:"+data);

            //头部信息
            //String header=request.getHeader("headerdata");
            //System.out.println(header);
            //向客户端发送数据
           /* response.setContentType("text/javascript");
            Student stu=new Student("liss","44");
            Gson json=new Gson();
            String jString=json.toJson(stu);
            PrintWriter out=response.getWriter();
            out.write(jString);*/
        } catch (IOException e) {
            e.printStackTrace();
        }
        return "hello word";
    }

}

JAVA 使用HTTP接口发送请求以及接收返回信息 (两个应用之间数据交互)HTTP接口发送-接受-返回过程一、应用A创建一个http发送接口1.1、发送不带数据的请求,使用GET方式1.2、发送带数据的请求,使用POST方法二、在应用A的Controller中调用http接口2.1 无数据传递2.2 有文件等数据传递三、应用B的Controller接收来自应用A的HTTP请求四、应用A接收应用B的返回结果。 一、应用A创建一个http发送接口 ==根据是否需要传递数据,可以选择使用get(不传数据)和post(传数据)== 1.1、发送不带数据的请求,使 阅读详情

相关推荐

Java实现发送Get和Post请求

前言 已经有几天没有写博客了 , 原因是最近生活中有大量的事情, 尽管每天都在学习 , 但是却没有将知识点记录在博客中 , 感觉这样非常不好 . 以后一定要坚持写博客 , 记录自己成长历程 希望可以在这里找到一些志同道合的朋友 , 一起努力 , 一起进步. 总结归类 Java创建代理连接对象 Java发送Post请求 Java发送Get请求 代码Java创建代理连接对象 /**

Ghoset的博客 6719

httpUrlConnection post请求 传参数 及客户端接收参数

httpUrlConnection post请求 传参数 及客户端接收参数

WD4871的博客 2万+

探究HTTP报文并原生socket手写实现HTTP请求的request和response

http报文以及原生socket实现http协议request和response的解析

qin_never_give_up的博客 1662

使用HttpURLConnection发送POST请求并携带请求参数

使用HttpURLConnection发送POST请求并携带请求参数

ImisLi的博客 1万+

HTTP POST接口带参数的HttpClient请求方法和调用

HTTP POST接口带参数的HttpClient请求方法和调用

fen_fen的专栏 3606

Trae+Playwright MCP自动化测试全流程指南:从环境搭建到智能体运行

本文提供了一份详细的Trae与Playwright MCP集成指南,涵盖从Node.js、Python环境搭建到智能体创建的全流程。通过结合MCP协议,AI智能体能够理解任务并驱动Playwright执行复杂的浏览器自动化操作,实现从网页数据抓取到端到端测试的智能工作流。

banana的博客 531

post传参的方式及接收参数的方法

1. url地址栏中传参 以?分割URL和传输数据,参数之间以&相连, 如:localhost:8080/user/?id=2&userName="王慢慢"&password="123655" 发送 接收 /** * *增加与修改的区别就是id是否为空,id为空是增加,id不为空是修改 * @param user ...

紫蝶侠的博客 6万+

Pylon SDK C语言多相机采集的注意事项、关键设置及代码示例

前言 与单相机直接用句柄PYLON_DEVICE_HANDLE hdev进行操作所不同的是,在多相机连接采用索引值访问每个相机,对应句柄为PYLON_DEVICE_HANDLE hdev[deviceIndex] 。若连接N个相机设备,则索引值范围为[0,...,N-1]。显而易见,采用循环结构编程可以对多个相机采用同样的操作,包括参数设置、图像采集等。但多个相机的使用需要根据相机功能、相机与主机间的连接方式、网络适配器进行额外的设置。本文参考Pylon C开发者手册和Basler产品文档,对GigE类型

黑化咸鱼的博客 3089

Java发送Http请求之——发送请求参数在Body中Get请求

1.背景要求 发送Get请求,但是请求参数要放在请求body内,所以经过多方查证后整理出来以下代码。 2.POM依赖 <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpmime</artifactId> <version>4.5.2</ve

unknowna的专栏 9994

Frida提取Cocos游戏XXTEA密钥的实战方法论

XXTEA是一种轻量级分组加密算法,广泛用于移动端游戏通信保护;其128位密钥的安全性直接决定网络协议逆向成败。在Cocos引擎生态中,密钥常以静态常量、JNI动态传递或Native运行时派生三种形态存在,导致传统静态分析失效。Frida凭借跨Java/Native注入能力与内存实时观测优势,成为捕获密钥‘出生瞬间’的关键工具——尤其适用于hook xxtea_encrypt函数入口、监控JNI参数传递、设置内存断点追踪派生过程等场景。本文聚焦Cocos2d-x与Cocos Creator项目,覆盖从密钥识

weixin_33509600的博客 419

从零构建无线AM信号模拟系统:基于STM32与AD9959的国赛一等奖方案解析

本文详细解析了基于STM32F103RCT6与AD9959芯片构建无线AM信号模拟系统的国赛一等奖方案。文章从项目背景、核心芯片选型出发,深入剖析了系统架构、硬件电路设计及软件控制逻辑,重点分享了“直流偏置叠加法”实现AM调制、多径模拟以及高频电路调试的实战经验与避坑指南,为参加全国大学生电子设计大赛的选手提供了一套完整、可靠的复现路径。

weixin_29182481的博客 181

php发送请求写请求头,PHP发送请求头和接收打印请求头

一、发送请求头//发送地址$url = 'http://127.0.0.1/2.php';//请求头内容$headers = array('Authorization: '.$basic,'suibianzhi: '.$basic,);//使用curl发送$ch = curl_init($url);curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);cur...

weixin_42523792的博客 1304

基于Agent与大模型的性能测试脚本自动化生成实践

性能测试是软件质量保障的关键环节,其核心在于模拟真实用户负载以评估系统在高并发下的表现。传统脚本编写依赖人工,效率低下且易出错。通过引入智能体(Agent)与大语言模型(LLM)技术,可实现从自然语言描述或接口文档到可执行脚本的自动化转换。Agent负责任务规划与工具调用,LLM则提供强大的意图理解与代码生成能力,二者结合能精准解析测试场景、自动处理参数化与接口关联等复杂逻辑。该技术方案显著提升了脚本生成效率与准确性,尤其适用于持续集成、海量接口回归等需要快速构建测试场景的工程实践。本文以JMeter和Lo

weixin_28718769的博客 259

java调用http post请求body传参JavaScript

HTTP相关视频讲解:零拷贝的原理Java调用HTTP Post请求Body传参JavaScript教程 一、流程图 journey title 教会小白如何实现Java调用HTTP Post请求Body传参JavaScript section 整体流程 开始 --> 创建Java程...

weixin_40919299的博客 730

告别偏色!手把手教你用i1Profiler 3.5为喷墨打印机制作专属ICC曲线(附D50/D65光源选择指南)

本文详细介绍了如何使用i1Profiler 3.5为喷墨打印机制作专属ICC曲线,解决设备偏色问题。从色彩管理基础、软件配置到色块打印与测量实战技巧,逐步指导用户完成曲线制作,并提供了D50/D65光源选择指南,确保色彩还原精准。适合摄影师和设计师提升打印质量。

weixin_30613343的博客 1万+

调整开关频率处理传导骚扰超标的系统方法

针对某产品在传导骚扰测试中660kHz频点超标问题,分析发现与DC-DC模块开关频率直接相关。通过调整模块开关频率至500kHz,使其避开标准限值严苛频段(0.53-1.8MHz),在不改变硬件设计的情况下实现测试通过。该案例表明,利用EMC标准的频率特性进行"频谱设计"比传统滤波手段更高效,建议在多模块系统中采用1:2:4等频率规划策略,从源头降低噪声耦合风险。这一频率迁移思路为EMC优化提供了新范式。

硬核科技 334

java http get请求head传参

给大家整理了一些有关【GET请求,Java】的项目学习资料(附讲解~~):https://edu.51cto.com/course/32927.htmlhttps://edu.51cto.com/course/35714.htmlJava实现HTTP GET请求并通过Header传递参数 在Java中,我们可以使用Ht...

weixin_36581859的博客 519

系统架构设计师重难点知识脑图

大家都知道现在的软考自从变成机考后,越来越难了,教程上的内容不仅全还细,几乎任何内容都有可能考,出题老师主打一个出其不意,比如2024年5月考试,连UML时序图的片段都考,这。软件工程、系统架构基础知识、系统质量属性与架构评估、软件架构的演化和维护、信息系统架构设计、层次式架构设计、云原生架构设计、面向服务架构设计、安全架构设计、大数据架构设计等。所以对于教程上的任何知识点,都需要去记忆。因此我在这里制作了一个脑图,将所有知识点集中在一个脑图中,通过首词组句法,记忆背诵,通过一个个的展开节点,加强记忆。

分享技术干货和灵感、推荐新书和好玩的项目、分享Java面试题 1104

java http xml请求_java发送Http请求传送xml数据,并返回xml数据

在工作中有用到HTTP请求外部地址传递数据. 用Url这个类明显效率低下,所以改用连接池概念的URL请求,这将大大提高了请求效率. 主发送类 [java] view plain copy packagecom.cdg.test; importjava.util.HashMap; importjava.util.Map; importor客户端发送请求、以及处理服务...

weixin_42502537的博客 2946

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

使用Socket发送Http请求

1、建立TCP连接。 SocketAddress addr = new InetSocketAddress("www.baidu.com",80); Socket sock = new Socket(); sock.connect(addr); 2、构建HTTP请求头并发送HTTP请求。 String[] headers = {"GET / HTTP/1.1\r\n","Host: ww

ZD的博客 3121

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

requestbody接收不到参数_解决vue get请求传参后端接收不到参数值(java sptingboot)

近期在使用vue +java springboot 做项目时遇到一个问题,vue使用get请求传参后端接收不到参数后端代码:@RequestMapping("/sys") public class UserController extends BaseController { @Autowired UserService userService; //查询用户列表 @Get...

weixin_39608559的博客 2622

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

java基于HTTP协议post传参,获取参数

post传参和获取参数: /** * 获取post参数 * @param is * @param charset * @retur

wangchaoqi1985的博客 1万+

java处理http请求操作1——java使用HttpClien发送post请求,json传值

在实际项目开发过程中,与第三方对接数据是比较常见的操作,利用HttpClien处理get和post请求其实就是核心。

w10463672p的博客 1505

Java发送http请求--get请求与post请求

Java发送http请求–get请求 import java.io.PrintWriter; import java.net.*; public class JavaHTTPHandle { public static void main (String[] args){ JavaHTTPHandle jhh = new JavaHTTPHandle(); jhh.sendGet("http...

明月寄天涯的博客 797

android通过发送http请求与java后端进行响应

背景:最近有同学需要服务端和安卓进行交流的需求,我在大二的时侯也在想java和安卓端是如何交接的,但因为当时水平有限,所以没能解决,也是一直把这件事情埋在心中,如今也在网上找到了一种方法,这种方法是用http请求进行交流,但是原来的博主一些细节没有交代清楚,我也踩了一些坑。不过原博主的代码还是挺好的,有需求的朋友可在原代码上进行拓展,如连接数据库、将数据显示到网页上。解决了安卓和java服务端的交...

lxh123456789asd的博客 4944

java后台通过HTTP接收json并入库

注:最近项目到了尾声,需要同步友商数据,网上看了好多接收json的代码,都是用的io流方式,搞不懂如何入库,自己写了写改了改,. 本人新手,代码较为简单, 没有什么技术含量 一: json接收类, 第一个接口为直接传参接收 第二个接口接收json字符串 可以写个HTTP测试类调用测试,也可以postman测试调用,实例方法贴到下面 package com.gt.information.contro...

weixin_43652700的博客 2141
上一篇: Java 文件传输 (TCP、UDP)
下一篇: SpringBoot + Spring Cloud +Vue 管理系统前端搭建(一、搭建前端环境)
Java程序之猿
博客等级 码龄9年 2599粉丝 140原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值