Internet explorer IE截短URL?

Internet explorer IE截短URL?,internet-explorer,http,url,truncate,Internet Explorer,Http,Url,Truncate,我有一个被重定向的url(HTTP) 这是带有参数的url的结尾: /c.html?ufl=c&rtr=on&s=x9w5pl,33gz,2cw,75vq,lelf,gwtv,jxou&RESNET_CODE=FIE&OFFERCODE=H38FR10 当我使用chrome获取此url时,原始url会被重定向到一个url(HTTPS),其结尾如下: /cgi-bin/LANSAWEB?procfun+rn+Resnet+FIE+funcparms+UP(A256

我有一个被重定向的url(HTTP)

这是带有参数的url的结尾:

/c.html?ufl=c&rtr=on&s=x9w5pl,33gz,2cw,75vq,lelf,gwtv,jxou&RESNET_CODE=FIE&OFFERCODE=H38FR10
当我使用chrome获取此url时,原始url会被重定向到一个url(HTTPS),其结尾如下:

/cgi-bin/LANSAWEB?procfun+rn+Resnet+FIE+funcparms+UP(A2560):;H38FR10;?/#
/cgi-bin/LANSAWEB?procfun+rn+Resnet+FIE+funcparms+UP(A2560):
但是,当我使用IE(我正在用版本8进行测试)时,它会以某种方式删除最后一个参数,url(HTTPS)如下所示:

/cgi-bin/LANSAWEB?procfun+rn+Resnet+FIE+funcparms+UP(A2560):;H38FR10;?/#
/cgi-bin/LANSAWEB?procfun+rn+Resnet+FIE+funcparms+UP(A2560):
我使用fiddler确定Chrome和IE都发布了相同的Get请求(如上所示):

为什么最后一个参数是
;H38FR10/#使用IE时被截断

我想补充一点,如果我把chrome重定向到的url放到IE中,它就可以工作了

您的标记是:

<html><head>
<meta http-equiv="refresh" content="0; URL=https://HOSTNAMEHERE/cgi-bin/LANSAWEB?procfun+rn+Resnet+FIE+funcparms+UP(A2560):;H38FR10;?/#">
 </head></html>

这里的问题是元标记的内容值用分号分隔

如果将标记更改为将URL用单引号括起来,则它在IE中有效:

<meta http-equiv="refresh" content="0; URL='https://HOSTNAMEHERE/cgi-bin/LANSAWEB?procfun+rn+Resnet+FIE+funcparms+UP(A2560):;H38FR10;?/#'">

有很好的理由不使用元刷新(正如我所讨论的)。如果无法使用HTTP/301或HTTP/302重定向,则应考虑使用脚本块导航到URL(如果启用脚本),将Meta移动到NoScript块。


这个问题似乎是重复的:并提供了一个解决方法。

冒号是URL中的特殊字符,因此您应该将其转义,即将其转换为URL编码字符串
%3A


理论上,在URL的这一部分使用冒号应该不会有问题,但IE8对此有问题也就不足为奇了

好的,我发了文件。谢谢刚刚添加了一条评论…如果我把chrome重定向到的url放到IE中,它就可以工作了!嗯……问题是,如果我把chrome重定向到的url放到IE中,它就可以工作了!好吧,旧的IE版本如果不是不一致的话就什么都不是了。你试过URL编码吗?有什么不同吗?可能是重复的