有个很奇怪的问题,IIS发布了webservices,如果提交的内容有特殊字符则直接404错误

时间:2022-10-09 18:43:49
iis6.0发布的webservices,如果提交的内容有特殊字符则页面直接错误,无法调用
但是在大部分情况下,调用webservices又不报错。

这是为什么?

安全限制?

4 个解决方案

#1


未做判断吧 , 可能 直接给分割了~!

#2


字符 安全限制?  微软不会做这么坑爹的事  应该是你程序有问题

#3


如果又特殊字符的话,会破坏参数传递的正确格式,这个时候肯定是要报错的。
 data: "{snbid:'" + snbid + "',sFlow:'" + sFlow + "'}", 想这样,你如果snbid这个参数有单引号或者双引号,是肯定要报错的。所以这个时候一般要先将参数编码,然后后台解码。

我一般是像下面这样处理的
前台编码:  var sName = escape($("#txt_JoinName").val());
后台解码:  HttpContext.Current.Server.UrlDecode(sName);

#4


webservice
当参数不符合要求的时候 点击调用的时候就会出现 404错误(当设置了错误配置的时候 你也可以把这个配置取消掉 然后看看是啥具体的错误).

#1


未做判断吧 , 可能 直接给分割了~!

#2


字符 安全限制?  微软不会做这么坑爹的事  应该是你程序有问题

#3


如果又特殊字符的话,会破坏参数传递的正确格式,这个时候肯定是要报错的。
 data: "{snbid:'" + snbid + "',sFlow:'" + sFlow + "'}", 想这样,你如果snbid这个参数有单引号或者双引号,是肯定要报错的。所以这个时候一般要先将参数编码,然后后台解码。

我一般是像下面这样处理的
前台编码:  var sName = escape($("#txt_JoinName").val());
后台解码:  HttpContext.Current.Server.UrlDecode(sName);

#4


webservice
当参数不符合要求的时候 点击调用的时候就会出现 404错误(当设置了错误配置的时候 你也可以把这个配置取消掉 然后看看是啥具体的错误).