URL中一个“+”号引发的投诉

Claude Opus 4.7故障诊断与生产级降级指南 大语言模型(LLM)在专业场景中的可靠性,取决于其事实一致性、推理可控性与输出可验证性。Claude Opus 4.7的更新并非单纯能力升级,而是底层推理机制、安全策略与Tokenizer的协同变更,导致法律、金融、技术文档等高确定性任务中出现系统性幻觉、自适应推理误判及隐性成本激增。其核心问题在于‘合规性幻觉’——为满足内部溯源校验而伪造页码与法规条目,以及Web端与API端的行为割裂。本文基于真实生产事故,提供API回滚、混合调用架构、Prompt硬约束三类即时可用的止损方案,并强调私有基准测试、提示词 阅读详情

1

 猿与故事 

程序员苏大强,平时穿着斑点衫、人字拖,若送他一盘串或一条金链子,活生生的古惑仔,所以大家都喊他强哥。不过这两天苏大强却愁眉不展,陷入了一个疑难漩涡而不能自拔。

故事的发展是这个样子的,苏大强负责开发获取银行电子凭证的需求,凭借他多年实战经验,并且拥有程序员核心技能之填坑力,自功能上线后一直平稳运行,通过监控系统来看每天成功率都是 100%,但是 6.24 这天成功率为 0%,成功率走势一下跌入谷底。

电子凭证获取成功率的走势,犹如苏大强的心跳。不过苏大强是大场面先生,啥场面都经历过,生产无小事儿,说时迟那时快,苏大强已经开启了排查问题之旅。

首先,从日志中找到 6.24 那笔获取电子凭证的请求报文,拿到如下请求下载的链接地址。

http://x.x.x.:8888/xbank/download?fileId=120_AXm+g8nbWnJ

然后,苏大强在浏览器里访问好几下,都是提示文件下载失败,开始怀疑银行没有生成电子凭证文件,遂联系行方确认电子凭证是否存在,行方确认文件着实存在。

{"result":"下载失败!","code":"999999"}

问题就是这么个问题,到底是咋回事儿呢?苏大强的心犹如小鹿在乱撞,反反复复验证了好几次,终不得其解。

正当苏大强排查验证之时,一封业务投诉的邮件映入眼帘,没想到剧情会愈演愈激烈 ... ...

当旁边的程序员王多鱼看到投诉邮件后,又看看苏大强青春痘泛滥而又愁眉不展的大宽脸,出于内心的纯真与好奇遂出手相助。

”是不是 URL 中的 + 号导致的?我之前的项目中遇到过类似的问题“王多鱼弱弱的问了一句。

”肯定是,因为其它电子凭证文件获取一切正常。“苏大强拍着大腿坚定的说。

接着,苏大强尝试对传入的文件编号的值进行编码操作。

编码前:120_AXm+g8nbWnJ
编码后:120_AXm%2Bg8nbWnJ

通过 URL 编码后的链接,再次访问银行获取电子凭证文件,果不其然,电子凭证文件正常获取。

监控系统终于恢复了往日的平静,苏大强嘴角上扬,微微一笑很倾城。

2

 情景再现 

尽可能的模拟复现苏大强的问题,首先模拟电子凭证下载服务端代码。

@Controller
public class DownloadController {
    @RequestMapping("/download")
    private void download(@RequestParam(value = "fileId") String fileId,
                          HttpServletResponse response) throws Exception {


        System.out.println(String.format("服务端接收:要下载的文件ID【%s】", fileId));
    }
}

模拟电子凭证下载客户端(尽力复原苏大强的代码)

public class Client {
    public static void main(String[] args) throws Exception {
        // case 1:文件id含有 + 号的问题
        StringBuilder builder = new StringBuilder();
        builder.append("http://localhost:8888/xbank/download");
        builder.append("?fileId=").append("666_AAA+NNN");
        System.out.println(String.format("客户端发送请求:下载文件的URL【%s】", builder.toString()));


        HttpClientUtil.sendHttpRequestReturnStr(builder.toString());
    }
}

服务端、客户端运行起来。

客户端输出

客户端发送请求:下载文件的URL【http://localhost:8888/xbank/download?fileId=666_AAA+NNN】

服务端输出

服务端接收:要下载的文件ID【666_AAA NNN】

纳尼?+ 号去哪里了?真搞丢了。

原来客户端向服务器传递参数时,URL 默认的将参数中的“+”被转义成空格导致的,尝试通过 URLEncoder 进行编码解决。

builder.append("?fileId=").append(URLEncoder.encode("666_AAA+NNN","UTF-8"));

运行客户端模拟下载凭证文件,此时服务端接收到的文件 ID 正常。

服务端接收:要下载的文件ID【666_AAA+NNN】

除了本文提到的"+"会被转义,&、# 等字符也会出现解析的问题,所以能进行编码的地方最好进行编码传输,以免后顾之忧。

常使用的解决方案:

  • 页面端可利用 escape()、encodeURI()、encodeURIComponent() 函数进行 URL 编码,防止服务端特殊字符接收解析出现问题。

  • Java端可利用本文提及的 URLEncoder.encode() 方法,先进行 URL 编码,再进行请求。

3

 菜菜的闲话 

《礼记·大学》有云:知止而后有定;定而后能静;静而后能安;安而后能虑;虑而后能得。

解决问题要能够让自己静下来,只有静下来方能追究问题的本质。

久经码场,能静下来写 Bug、找 Bug 可谓是一件非常幸福的事情。

一起聊技术、谈业务、喷架构,少走弯路,不踩大坑。会持续输出精彩分享,敬请期待!

历史推文(欢迎转发&点赞&在看):

抓包神器 Wireshark,帮你快速定位线上网络故障(1)

抓包神器 Wireshark,帮你快速定位线上网络故障(2)

抓包神器 Wireshark,帮你快速定位线上网络故障(3)

抓包神器 Wireshark,帮你快速定位线上网络故障(4)

抓包神器 Wireshark,帮你快速定位线上网络故障(5)

抓包神器 Wireshark,帮你快速定位线上网络故障(6)

真实|技术人员该如何接手一个复杂的系统?吐血推荐这几招

Mythos能力解析:叙事隐含逻辑建模与 gated release 机制 叙事性隐含逻辑是大语言模型从符号响应迈向人类级理解的关键跃迁,其核心在于自动补全未言明的前提、意图与社会约束。不同于链式推理(Chain-of-Thought)的过程显化,Mythos聚焦前提补全,依赖对医疗问诊、保险调解等真实语境中非文本信号的建模,实现跨域因果链推断。该能力具备显著技术价值:提升客服首次解决率、增强风控决策可信度、支撑合规场景下的共情交互。当前以gated release方式分级开放,通过输入指纹识别、上下文锚定与输出域隔离三层防护,平衡能力释放与风险控制。本文深入剖析Mythos在Cl 阅读详情

相关推荐

blenderproc 制作位姿估计数据集

blenderproc 制作位姿估计数据集 准备工作 1.首先需要去下载blenderproc的源码blenderproc,按照作者的readme文件进行编译。 2.其次需要下载bop_toolkit源码,链接如下bop_toolkit 3.说明:blenderproc主要用来生成数据,包括depth,rgb,位姿标签文件(scene_gt.json),bop_toolkit主要用来生成mask和mask_visib,scene_gt_info.json,用于判断物体的可见区域比例,如果遮挡太多考虑去掉。做

qq_43814359的博客 5698

Sqribble:面向知识工作者的确定性PDF自动化排版系统

PDF文档生成是数据从业者、课程讲师与知识博主高频刚需的基础技术能力。其本质是将结构化内容通过预设规则转化为符合印刷与可访问标准的静态出版物,核心原理在于模板驱动的确定性布局引擎,而非大模型推理。该技术显著降低排版门槛,提升交付一致性与无障碍合规性,广泛应用于电子书制作、技术白皮书输出、在线课程讲义生成等场景。Sqribble作为典型代表,以云原生架构、模块化渲染和语义化内容摄入为特征,实现了从文字到专业PDF的分钟级转化,尤其适配需兼顾效率、规范与跨设备一致性的工程化文档生产需求。

congli3478的博客 610

AntV G6边动画实战:手把手教你实现数据流向箭头与虚线流动效果

本文详细解析了如何使用AntV G6实现数据流向箭头与虚线流动效果,通过自定义边动画提升数据可视化的动态表现力。从基础环境搭建到核心概念讲解,再到虚线流动动画和箭头路径动画的具体实现与参数调控,帮助开发者掌握G6边动画的高级技巧,适用于网络流量监控、数据传递等场景。

weixin_28487433的博客 267

url中带有加号的处理方法

最近项目中出现了一个问题,图片的路径正确,但是转成URL之后无法找到。。。 找了各种原因之后,最后注意到URL中的图片名称和本地路径名称有点不一样,如下图 1.URL图片 2.本地路径 上网查了一下发现加号转URL应该是转成“%2B” ,而“%20”代表的是空格,再回头找到数据库,果然发现“+”都被替换成“ ”了,如图 3.数据库路径 对应的URL路径中“%...

dingsi7709的博客 1246

ROS基础(一)——命令行代码(以小乌龟程序为例)

ROS学习(一)——命令行代码(以小乌龟程序为例)1 基础命令行语句1.1 roscore1.2 rqt_graph(显示系统计算图)1.3 rosnode(显示所有节点相关信息)1.4 rostopic(和话题相关)2 服务类型指令rosservice同时存在两只海龟3 指令记录 1 基础命令行语句 从大二四旋翼无人机编队后就没再接触过ROS了,最近由于科研任务需要重新捡起来,打算系统学一下!学习过程参考古月居老师的视频,有兴趣的同学可以去[BliBli]学习。 学习平台:Ubuntu 18.04 硬件

北理自动化小白 6267

【PCL】SolidWorks 三维建模 STL, OBJ 采样生成 PCD 点云数据(附源码)

[PCL自学篇] 一.SolidWorks三维建模STL,OBJ采样生成PCD点云数据新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 这阵子做线结构光视觉检测(轨道)项目的过程中,发现之前的许多知识点在逐渐遗忘,常言好记性

idiot5lie的博客 1万+

URL中加号(+)转义问题

我们要做的很简单,提前转换一下,保证 + 被转义成 %2B,这样的话无论是通过 URL 传,还是用 AJAX 传值,都不可能出错。但是 + 作为 URL 参数时,会被浏览器自动转换为空格(转换机制不明,不知道浏览器为什么这么做)。使用表单提交,无论是 GET 还是 POST,都会自动帮我们作出正确的转义。前端通过URL传入一个参数,在后台日志中发现参数中的加号变成了空格。也就是说,+ 从前台传到后台,应该转换为。打开控制台查看输出,+ 处理正确。可以看到,+ 变成了空格。函数,它不能正确转义。

wwf1225的博客 7819

Open3D KD-tree的使用【2025最新版】

Open3d使用FLANN构建KDTree以便进行快速最近邻检索。博客长期更新,本文最近一次更新时间为:2025年1月1日,代码已同步更新至Open3D 0.18.0版本。

点云侠的博客 40万+

URL传值带加号“+”的问题的解决方法

当别人请求接口时,客户端向服务器传递参数时,参数中的“+”全部变成了空格,原因是URL中默认的将“+”号转义了。 解决方法: 方法一:前端传递参数时,将客户端带“+”的参数中的“+”全部替换为‍“2B%”,这样参数传到服务器端时就能得到“+”了。 方法二:修改后端,将空格替换为“+”,这种方式只适用于参数中有‍“+”没有空格的情况。 例:String a = reuqest.‍get...

Myname_China的博客 3410

在claude code desktop中安装pdf处理skill的实战教程

本文介绍了在Claude Code Desktop中安装PDF处理Skill的详细教程。针对国内用户使用第三方API时无法直接调用官方插件的问题,提供了完整的解决方案。教程从下载Anthropic官方Skills源码开始,逐步演示了如何将PDF处理模块打包、上传至Claude Code Desktop,并最终成功加载使用。整个过程采用全流程拆解方式,确保新手也能快速上手。通过本文,读者可以掌握在非官方环境下扩展Claude Code功能的方法,从而提升工作效率

weixin_43178406的博客 9万+

【经验&技巧】如何在ADS中导入示波器的时域波形?

从示波器中导出的时域波形数据,需要按照固定的格式进行修改,并通过Display dataset对话框导入ADS。

一只豌豆象的博客 1572

url参数中有+、空格、=、%、&、#等特殊符号的处理

总结:url参数中有+、空格、=、%、&、#等特殊符号的处理,推荐用:encodeURIComponent()encodeURI()、encodeURIComponent()、escape()的区别。url参数中有+、空格、=、%、&、#等特殊符号的问题解决?

caizixinyuan的博客 3978

科研生产力革命:手把手教你打造基于大模型的Research Agent(文献调研+论文写作+思路激发)

本文介绍了如何利用Research Agent(科研智能体)提升科研效率。Research Agent能自主完成文献检索、信息整合和报告生成全流程,省去50%以上的基础工作时间。文章详细讲解了搭建运行环境的方法,包括工具准备和MetaGPT配置,并提供了两种实战方案:基础版Search-O1和专业版MetaGPT Research Agent。此外,还介绍了如何为垂直领域定制Agent,以及优化检索效果、改善报告逻辑等技巧。最后列举了学术研究、行业分析、内容创作和个人学习四大应用场景,帮助用户将AI从聊天工

LXY_LOVE36的博客 267

java URL 多参数拼接失败的问题

今天遇到了见鬼的问题, 是这样,我要把我的四个参数: 2021-02-18 12:19:08 13632272448 RFID_02 30 08 33 B2 DD D9 01 40 00 00 00 00 拼接成 http://localhost/XXX?a=xxx&b=xxx&c=xxx&d=xxx的形式, 我先将空格使用str.replace(" ","+")替换, 然而意外发生了!! 访问结果变成了这样: 当然访问失败了,而且将%26替换&也始终无果.

weixin_40169609的博客 749

Camera2Demo

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

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

大模型数据泄露的五大根源与实战防护体系

大型语言模型(LLM)在企业落地中面临严峻的数据泄露风险,其本质源于模型对训练数据、用户输入及注意力机制的非受控记忆。从技术原理看,LLM并非主动‘窃取’信息,而是因长尾分布数据、上下文残留和高对比度敏感token被数学机制强化而被动复现PII。这种泄露具有隐蔽性、去标识化特征和跨会话传播能力,已构成GDPR、HIPAA等合规框架下的实质性违规。工程实践中,仅靠关键词过滤或静态脱敏远远不足,必须构建覆盖数据层语义脱敏、模型层注意力调控、推理层实时红蓝对抗、架构层联邦学习与运维层可量化KPI的五层纵深防御体系

weixin_30367169的博客 391

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

URL中带有‘+’等特殊字符

做项目时遇到个问题,我前台给后台传参数时带了‘+’的参数,后台无法识别。 //添加OnSelect事件 $("#materialCode").combobox({ onSelect: function () { var materialCode = $("#materialCode").combobox('getText') ...

Alone_in_的博客 1593

假人有限元模型

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

URL出现特殊符号,后台无法正确获取参数

Url出现了有+,空格,/,?,%,#,&,=等特殊符号的时候,可能在服务器端无法获得正确的参数值,抑或是造成不能正常下载文件(作为Download Url时候),如何是好?解决办法:就是需要将这些字符转化成服务器可以识别的字符;但是为何Url中有这些字符就会出现问题呢?这就得涉及到URL编码与解码问题了。 URL编码与解码 一般来说,URL只能使用英文字母、阿拉伯数字和某些标点符号,...

大米饭 4514

url参数中有+、空格、=、%、&、#等特殊符号的问题解决

url出现了有+,空格,/,?,%,#,&,=等特殊符号的时候,可能在服务器端无法获得正确的参数值,如何是好? 解决办法 将这些字符转化成服务器可以识别的字符,对应关系如下: URL字符转义 用其它字符替代吧,或用全角的。 + URL 中+号表示空格 %2B 空格 URL中的空格可以用+号或者编码 %20 / 分隔目录和子目录 ...

qq_32625545的博客 6720

URL中带加号的处理

问题起因:       客户订购了一关键字为"e+h 变送器" , 在首页推荐广告中,会根据用户在search 搜索过的关键字进行一个匹配投放。技术实现是UED 通过JS 获取cookie 中的h_keys 内容,拼装到 http://xxxxx/advert/ctp_advert.htm?num=4&keyword= {keyword} 。 这里取出来对应的cookie 信息为中文,最后通

z69183787的专栏 5万+

关于 URL 中 “+“ 号变成空格的问题

当你在 URL 中传递参数时,加号 () 会被自动转换为空格,这是 URL 编码的标准行为。

weixin_47194802的博客 963

url 地址中的+(加号)问题

在做模拟 url 请求时,会遇到参数中存在 + 号的情况, 直接发送的话,在进行地址解析时,会把 + 号转换为 空格, 直接导致参数不能正确传输,经过各种搜索,终于得到一个解决方案: 将所有的 + 号 手动转换为 %2B 即可正常传输,这其中的原理还没弄明白,先这么用着,后面还会遇到相似的问题,说不定就搞明白了

Leon的专栏 1828

url中关于编解码加号和空格的问题

今天遇到一个问题,URL中的加号传到后台之后变成了空格 BNn+Y6xKvmejeJmu9sS2OnRJwYhHtYXScG2ol17EUhg1oeSFE5btrT4Eh04QiwIf变成了BNn Y6xKvmejeJmu9sS2OnRJwYhHtYXScG2ol17EUhg1oeSFE5btrT4Eh04QiwIf 原因:URL中的+号,通过 GET方式传值的时候,+号会被浏览器

勿忘初心的博客 1万+

URL参数中有+、空格、=、%、&、#等特殊符号的问题解决

URL参数中有+、空格、=、%、&、#等特殊符号的问题解决 url出现了有+,空格,/,?,%,#,&,=等特殊符号的时候,可能在服务器端无法获得正确的参数值,如何是好? 解决办法 将这些字符转化成服务器可以识别的字符,对应关系如下: + URL 中+号表示空格 %2B 空格...

YunWisdom 3104

url参数+,&,=,/等转义编码

url出现了有+,空格,/,?,%,#,&,= 等特殊符号的时候,可能在服务器端无法获得正确的参数值。

Graph86 9715
上一篇: 抓包神器 Wireshark,帮你快速定位线上网络故障(6)
下一篇: 为什么SpringBoot jar包中的文件读取不到?
一猿小讲
博客等级 码龄15年 294粉丝 156原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值