后台获取requestbody的中文数据时被浏览器解析的解决方法

HTTP中的GET和POST方法详解 一般来说GET是获取数据,POST是提交数据的。但是因为GET和POST都是HTTP的方法,HTTP又是是基于TCP/IP的关于数据在万维网中如何让通讯的协议。从本质上讲,GET和POST都是HTTP请求,都是TCP链接,是无区别的。 但是HTTP协议既然有了这两个方法,就是为了在特定的情况下区分应用。 1、GET是获取数据,POST是提交数据的。 GET方法通常用于请求服务器发送某个资源,而且应该是安全的和幂等的。 仅仅是获取资源信息,就像数据库查询一样,不会修改和增加数据,不会影响资源的状态。 POST 阅读详情

问题描述
在web.xml文件中已经通过CharacterEncodingFilter过滤器处理了中文乱码,不是乱码问题,推测出应该是前台通过 post 提交数据后,后台读取到的requestbody中文被浏览器解析了

浏览器中的请求体
在这里插入图片描述

后台获取的信息
在这里插入图片描述

解决方法

requestBody=java.net.URLDecoder.decode(requestBody, “UTF-8”);

通过该方法重新编码为UTF-8,注意抛出异常

	@RequestMapping("/testRequestBody")
    public String testRequestBody(@RequestBody String requestBody) throws UnsupportedEncodingException {
        String requestBody_decode = URLDecoder.decode(requestBody, "UTF-8");
        System.out.println("requestBody:"+requestBody_decode);
        return "success";
    }

在这里插入图片描述

Chrome插件实战:利用webRequest API精准捕获POST请求体并规避中文乱码陷阱 本文详细介绍了如何利用Chrome插件的webRequest API精准捕获POST请求体,并解决中文乱码问题。通过实战代码示例,展示了从基础配置到高级解码技巧的全过程,帮助开发者高效调试表单提交和API调用,提升前端开发效率。 阅读详情

相关推荐

Win11家庭版彻底关闭Hyper-V的3种方法(实测有效)

本文详细介绍了Win11家庭版彻底关闭Hyper-V的3种实测有效方法,解决与VMware的兼容性问题。包括命令行禁用虚拟化功能、微软官方工具DG_Readiness深度清理以及组策略与功能组件联用方案,帮助用户高效禁用Hyper-V并优化系统性能。

weixin_33728268的博客 2670

Django(第二周)

Django第二周

1216

科研党福音:如何用Zotero+Paper Agent打造你的AI论文速递系统(附详细配置教程)

本文为科研工作者提供了一套利用Zotero和开源工具Paper Agent构建自动化AI论文速递系统的详细教程。该系统能基于用户在Zotero中的文献库智能学习研究兴趣,每日自动从arXiv等平台筛选、下载并深度解读最相关的前沿论文,生成个性化日报,实现从被动接收到主动精准获取的知识工作流重塑。

kite3的博客 514

【Django学习】(十一)APIView_请求与响应_GenericAPIView

继承DRF中APIView之后,那么当前视图就具备了认证、授权、限流等功能继承DRF中APIView之后,每一个实例方法中的request为Request对象Request类拓展了Django中的HttpRequest类,具备很多额外优秀的功能Request类与HttpRequest类中的所有功能兼容查询字符串参数:request.GET、request.query_param推荐获取json格式参数:request.body(还需要decode解码)

不积跬步无以至千里,不积小流无以成江海~ 2280

Linux Component概述和高通component的使用

为了让subsystem按照一定顺序初始化设备才提出来的。subsystem中由很多设备模块,内核加载这些模块的时间不确定。子系统内有些模块是需要依赖其它模块先初始化才能进行自己初始化工作(例如v4l2 subdev和v4l2 video device),这时就要用到component框架。例如v4l2 subdev和v4l2 video device中,谁依赖谁先创建?

lz_1990的专栏 1610

Tube-based MPC完全指南:RCI集合构造与Matlab实现

模型预测控制(MPC)在实际工程中常因模型失配和外部扰动导致硬约束被突破,而鲁棒控制中的Tube-based MPC通过将单条预测轨迹扩展为“管道”集合,为不确定性提供了严格的安全边界。其核心在于利用鲁棒控制不变集(RCI)离线构造安全域,再结合在线标称MPC与反馈校正实现约束的硬保证。针对非线性系统,利普希茨条件为等效扰动的放大和RCI的构造提供了理论基础,使得算法既能保留非线性描述,又不牺牲在线计算效率。该方法适用于带扰动和参数漂移的机械系统、过程控制及嵌入式控制场景。本文以摩擦力非线性系统为例,从RC

weixin_32642109的博客 216

HTTP 请求消息的中文字符怎么办

url包含中文,可通过urlencoding处理;body包含中文,不需要特殊处理;header包含中文,会产生乱码,源于iso8859-1到utf8的转换,如果请求是从服务端到服务端,可以通过base64处理,如果response直接write到展示前端,建议通过body,避免用header传递中文信息。 转载于:https://blog.51cto.com/10705830/2132870...

weixin_33802505的博客 802

Nacos 2.3.2实战:5分钟搞定达梦数据库插件配置(含避坑指南)

本文详细介绍了在Nacos 2.3.2中配置达梦数据库数据源插件的完整实战流程。通过解析SPI插件机制,提供从环境准备、插件编译部署到核心配置的逐步指南,并重点分享了驱动加载、SQL兼容性等高频问题的避坑解决方案,助力开发者高效完成国产化数据库适配。

weixin_29200485的博客 499

Http请求或响应时主体(Body)中文需要解码(Content-Type:application/x-www-form-urlencoded)解决乱码问题

之前对于此类解码比较苦忙,转成utf-8或GB2312都是不成功(%E5%BC%A0%E4%BF%9D%E5%BA%86) 解决办法: 使用:System.Web.HttpUtility.UrlDecode("%E5%BC%A0%E4%BF%9D%E5%BA%86", Encoding.UTF8)进行对url的解码就可以成功 如果使用VS中没有HttpUtility,只可能是因为system...

细雨纷飞~~~ 4183

使用SAM进行遥感图像语义分割

SAM(Segment Anything Model)的成功表明了以数据为中心的机器学习的重要性。然而,由于遥感(RS)图像注释的困难和高成本,大量有价值的RS数据仍然没有被标记,特别是在像素级。在这项研究中,我们利用SAM和现有的RS物体检测数据集,开发了一个高效的管道来生成大规模的RS分割数据集,称为SAMRS。SAMRS在规模上超过了现有的高分辨率RS分割数据集几个数量级,并提供了物体类别、位置和实例信息,可用于语义分割、实例分割和物体检测,无论是单独还是组合。

lalula的博客 7452

MobileViT替换YOLOv11主干网络:轻量化新思路-(用MobileViT等轻量视觉Transformer降低计算成本)

在计算机视觉领域,目标检测一直是核心任务之一,而YOLO(You Only Look Once)系列算法因其出色的速度-精度平衡成为工业界和学术界的热门选择。随着YOLOv11的推出,模型性能达到了新的高度,但其计算复杂度和参数量也随之增加,这对资源受限的移动设备和嵌入式系统提出了挑战。与此同时,视觉Transformer(ViT)的出现为计算机视觉带来了全新范式,但其庞大的计算需求限制了在移动端的应用。MobileViT作为一种创新的轻量级视觉Transformer架构,巧妙结合了CNN的归纳偏置优势和V

本博客聚焦 YOLOv11 全流程落地,涵盖架构优化、数据集处理、训练技巧与多场景部署,兼及国产数据库、Java 开发与 AI 模型应用,内容兼顾理论与工程实践,为开发者提供系统干货,助力高效提升技术能力。 1647

Django request.POST 、 request.body 、request.data使用

request.POST(只能获取表单数据) 、 request.body(获取非表单数据) 是django原生的属性,request.data(包含表单及非表单数据)则是DRF封装的属性。 表单数据:a = request.POST.get('a') alist = request.POST.getlist('a') Content-Type(请求头)为application/x-www-form-urlencoded(form表单默认格式) 非表单...

bocai_xiaodaidai的博客 8440

18、动态系统响应分析

本文系统地介绍了动态系统响应的分析方法,涵盖传递函数建模、特殊输入下的响应特性(如脉冲和阶跃响应)、终值与初值定理的应用、系统直流增益的计算,并深入探讨了一阶和二阶系统的时域特性。通过实例分析与MATLAB仿真,展示了不同参数对系统行为的影响。文章还总结了系统响应在控制设计与故障诊断中的实际应用,并展望了多变量、非线性及实时响应分析的未来研究方向。配合流程图,提供了清晰的系统分析与设计路径。

kite3的博客 141

后台获取requestbody中数据时出现中文乱码的解决方法

前台通过 post 提交数据(utf-8编码),后台读取到requestbody 中文出现乱码 使用 request.setCharacterEncoding(“UTF-8”); 方式无效,中文依旧乱码 最后通过URLDecoder解码解决: result = java.net.URLDecoder.decode(result, “UTF-8”); 代码如下: StringBuilder buffer = new StringBuilder(""); BufferedReader reader

qq_36476631的博客 4405

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

chrome插件webRequest拦截请求并获取post请求体requestBody数据raw内容,解决中文乱码问题

中文乱码主要出现是因为 String.fromCharCode.apply 引起的。可以看到requestBody内容是raw格式数据: 里面是bytes字节类型。拦截请求代码放在background.js里面:(想要看到原始内容,需要解析raw数据:(下面代码解析中文乱码。

5942

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Chrome插件webRequest拦截请求并获取POST请求体requestBody数据raw内容,解决中文乱码问题

通过以上步骤,我们成功实现了一个Chrome扩展,能够拦截POST请求并获取请求体的raw内容。通过使用,我们有效解决了中文字符的乱码问题。这种技术在调试、分析网络请求时非常有用。希望这篇文章能够帮助你在Chrome扩展开发中更好地处理网络请求!

小蜗牛的珍贵百宝箱 2779

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

spring boot @responseBody 中文乱码解决方法

使用SpringBoot开发,对外开发接口供调用,传入参数中有中文,出现中文乱码,查了好多资料,总结解决方法如下: 第一步,约定传参编码格式 不管是使用httpclient,还是okhttp,都要设置传参的编码,为了统一,这里全部设置为utf-8 第二步,修改application.properties文件 增加如下配置(以yml配置为主): server: tomcat: ...

咻pur慢 8425

requestbody封装不进去_Flutter dio 库封装并实现网络请求及 Json 数据解析示例

上篇文章介绍了本地存储数据,少量的数据我们才会放在本地,大部分的数据都是放在远程的服务器中。因此这就涉及到了如何和网络交互。Flutter dart:io库默认提供HttpClient可以访问网络数据,但是httpClient使用相对复杂一些,于是Dart官方提供的另一个网络请求库http,HttpClient 和 http这二者对于网络请求的定制化相对薄弱一些,于是Flutter...

weixin_39947501的博客 951

SpringMvc传数据给easyui时,中文数据乱码

SpringMvc传数据给easyui时,中文数据乱码 数据库中正常显示,从easyui传递数据到后台存到数据库也没有问题,但是从数据库中查数据返回到easyui,中文乱码。 解决办法 @ResponseBody @RequestMapping(value = "selectVisitorsPage" ,produces = "text/json;charset=utf-8") ...

jjkang的博客 600

@responseBody注解下使用json返回数据出现中文乱码解决

我是json数据返回前台的时候,所有中文数据全部变成一串问号,解决办法是: produces=“application/json;charset=utf-8” 在此记录一下 @RequestMapping(value = "/detailList", method = RequestMethod.GET,produces = "application/json;charset=utf-8") ...

banweili008的博客 665

request、response 中文乱码问题与解决方式

request、response 中文乱码问题与解决方式 request乱码指的是:浏览器向服务器发送的请求参数中包含中文字符,服务器获取到的请求参数的值是乱码; response乱码指的是:服务器向浏览器发送的数据包含中文字符,浏览器中显示的是乱码;   乱码产生的原因:不管是request乱码还是response乱码,其实都是由于客户端(浏览器)跟服务器端采用的编码格式

dingjingchao的博客 1万+

SpringMVC案例02--RequestBody响应json数据

项目说明 使用jackson进行json字符串的对象转换和数据封装 配置springmvc不拦截静态资源 环境搭建 编写pom文件 jackson的jar包 springmvc依赖的jar包 spring依赖 servlet jstl jsp <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2

Ur_Eyes_的博客 275

使用httpclient post请求中文乱码解决办法

在使用httpclient发送post请求的时候,接收端中文乱码问题解决。 正文: 我们都知道,一般情况下使用post请求是不会出现中文乱码的。可是在使用httpclient发送post请求报文含中文的时候在发送端数据正常但是到了服务器端就中文乱码了。 解决办法: 发送端进行设置编码如下: 主要代码: if(null!= jsonParam) { ...

iteye_18692的博客 6968

前后端分离:传参「 @ RequestBody」和跨越问题「@CrossOrigin()」

一.@CrossOrigin: 当@CrossOrigin使用在类上时: 能解决该类下的方法的所有跨越问题,且不能加开放「跨越」请求地址; 写法: import org.json.JSONObject; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind...

LXIT_pineapple的博客 1008

SpringBoot高级技巧:让RequestBody支持“重复读取”的正确姿势

核心思想:在请求进入过滤器链最前端时,将请求体完整读出并缓存为字节数组,后续每次读取都基于该缓存生成新的输入流。/*** 支持多次读取RequestBody的请求包装器*//** 缓存请求体字节数据 */// 设置编码,避免中文乱码// 读取并缓存请求体/*** 读取请求体内容*/@Override@Override@Override@Override@Override@Override// 不需要实现/**

曼陀罗的博客 883

RequestBody获取前端数据_Excel批量获取手机号码归属地,不借助其他工具,2种方法任你选...

我们都知道手机号中隐藏着一些信息,比如运营商、号码归属地等,有时候我们需要获取手机号属于什么地区,以便于做分类。很多人一般会借助工具,然后再把结果复制或者导入Excel中,效率很低。其实完全不用借助工具,Excel自己就有获取的函数。所以这篇文章就来分享2种非常高效的方式,几秒钟就可以解决。2个web前端小知识因为获取数据需要通过网络访问服务器,所以简单的web知识还是最好了解一点,一看就会。1、...

weixin_39927214的博客 739
上一篇: SpringMVC笔记
下一篇: JavaWeb中的 路径匹配总结
稚淮粥
博客等级 码龄6年 11粉丝 63原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值