url二次编码导致404的问题

问题描述

服务器是tomcat+nginx;第三方要通过某个url提供给我们一些参数,但这些参数中有一些进行了二次编码,如:phone_place=%B1%B1%BE%A9%CA%D0%D6%D0%B9%FA%D2%C6%B6%AFGSM&phone_place_encode=%25B1%25B1%25BE%25A9%25CA%25D0%25D6%25D0%25B9%25FA%25D2%25C6%25B6%25AFGSM;于是就导致请求总是404找不到。在tomcat的server.xml中设置过几种URIEncoding解码方式都不好使,还请高人指教!谢谢!这破问题困扰一天了...

解决方案

解决方案二:
用URLDecoder试试
解决方案三:
二次编码就要二次解码才能让它现回原型。
解决方案四:
可能我说的不够清楚。这个url现在是根本就没办法走到servlet中去,所以二次解码就无从进行了。
解决方案五:
方法都没进去,那就不是解码的问题。
解决方案六:
引用3楼solobat的回复:

可能我说的不够清楚。这个url现在是根本就没办法走到servlet中去,所以二次解码就无从进行了。

那就前台encodeURIComponent
解决方案七:
这个问题解决了么?我也是方法都没有进去提示404错误
解决方案八:
应该是先到nginx然后才会到servlet。查查nginx的urldecode相关资料吧

时间: 2024-07-30 02:32:56

url二次编码导致404的问题的相关文章

codeigniter-PHP CI框架URL中存在%会导致Bad Request出现

问题描述 PHP CI框架URL中存在%会导致Bad Request出现 如题

Objective-C 对 URL 进展 URLEncode 编码

Objective-C 对 URL 进行 URLEncode 编码在 iOS 程序访问 HTTP 资源时需要对 URL 进行 Encode,比如像拼出来的 +&sd f&p2=中文,其中的中文.特殊符号&%和空格都必须进行转译才能正确访问. 在 Java..net 和 JS 中都有相应的 encodeURL 方法可用,在 Objective-C 语言中,你可以试下 - (NSString *)stringByAddingPercentEscapesUsingEncoding:(NS

对URL地址进行编码 优化2_应用技巧

ASP(Active Server Page)是 Microsoft 公司推出的基于 PWS (Personal Web Server)& IIS (InternetInformation Server)平台的.基于 ISAPI (InternetServiceAPI) 原理的动态网页开发技术,目前日趋成熟完善.在这里仅就代码优化进行一些简单讨论.  1.声明VBScript变量 在ASP中,对vbscript提供了强劲的支持,能够无缝集成vbscript的函数.方法,这样给扩展ASP的现有功能

《王国之心二次编码》电子成长等新系统情报介绍

SE官方公开了预定10月7日在NDS平台发售的新作<王国之心 二次编码>的最新情报,并同时确定本作将会在九月份举行的东京电玩展2010上参展. 进入多玩NDS掌机站>>> 活跃在<最终幻想7>游戏中,在广大玩家心中拥有者绝对人气的克劳德也将在本作之中登场亮相哦.克劳德将会在游戏中的"奥林匹斯竞技场"中登场,"奥林匹斯竞技场"的玩法是,玩家在场内所碰见的 敌人将以传统RPG回合制形式展开战斗,虽然传统但战斗不仅只有普通攻击而已

对URL地址进行编码 优化2

ASP(Active Server Page)是 Microsoft 公司推出的基于 PWS (Personal Web Server)& IIS (InternetInformation Server)平台的.基于 ISAPI (InternetServiceAPI) 原理的动态网页开发技术,目前日趋成熟完善.在这里仅就代码优化进行一些简单讨论.  1.声明VBScript变量 在ASP中,对vbscript提供了强劲的支持,能够无缝集成vbscript的函数.方法,这样给扩展ASP的现有功能

JS对URL字符串进行编码/解码分析_javascript技巧

虽然escape().encodeURI().encodeURIComponent()三种方法都能对一些影响URL完整性的特殊 字符进行过滤.但后两者是将字符串转换为UTF-8的方式来传输,解决了页面编码不一至导致的乱码问 题.例如:发送页与接受页的编码格式(Charset)不一致(假设发送页面是GB2312而接收页面编码是 UTF-8),使用escape()转换传输中文字串就会出现乱码问题. 以下是JS下对URL进行编/解码的各种方法: escape 方法:返回一个可在所有计算机上读取的编码

默认apache编码导致DEDECMS乱码及其他乱码总结

朋友的dedecms乱码,文件的编码以及head里面的meta的编码都是正确的,把生成的HTML下载到本地打开,也都是正常的,一放到服务器就乱码. 经过更为细致的检查,发现他在根目录下的.htaccess里面配置了AddDefaultCharset UTF-8,这样就会导致apache默认使用utf-8编码向浏览器发送数据,客户的dedecms是GBK编码,所以自然就乱码了,所以然还有人在.htaccess里面配置这个...下面在网上找到的资料: 首先,可以使用AddDefaultCharset

javascript url几种编码方式详解_javascript技巧

1. escape() 不能直接用于URL编码,它的真正作用是返回一个字符的Unicode编码值.比如"春节"的返回结果是%u6625%u8282,escape()不对"+"编码主要用于汉子编码,现在已经不提倡使用了. 2. encodeURI()是javascript中真正用来对URL编码的函数.编码整个URL地址,但对特殊含义的符号";/?:@&=+$,#",也不进行编码.对应的解码函数是decodeURI(). 3. encodeU

JavaScript 组件之旅(二)编码实现和算法_javascript技巧

首先,我们要考虑一下它的源文件布局,也就是决定代码如何拆分到独立的文件中去.为什么要这么做呢?还记得上期结尾处我提到这个组件会使用"外部代码"吗?为了区分代码的用途,决定将代码至少分成两部分:外部代码文件和 Smart Queue 文件.区分用途只是其一,其二,分散到独立文件有利于代码的维护.试想,以后的某一天你决定要在现有的队列管理基本功能之上,添加一些新的扩展功能,或是把它包装成某个实现特定任务的组件,而又希望保持现有功能(内部实现)和调用方式(对外接口)不变,那么将新的代码写到单