我发现Firefox在发送GET请求时会对http://www.mysite.com/foo?bar=10/12/2010
这样的网址进行 NOT 编码。我知道URL必须编码,所以我希望看到Firefox请求http://www.mysite.com/foo?bar=10%2F12%2F2010
(/ =%2F)。我使用Wireshark检查了GET请求。
是否应对网址中的查询字符串进行转义?
我使用WebHarvest我看到当我要求它下载带有http指令的页面时,像上面那样的URL编码就像我预期的那样(%2F而不是“/”)。
答案 0 :(得分:1)
答案 1 :(得分:0)
如果,通过转义,您的意思是URL编码,简短的答案是肯定的。
有许多字符通常在URL编码期间编码,但通常可以毫无问题地显示在URL中。
但有时潜在的问题并不总是显而易见的。我建议使用URL编码查询参数,并从您的站点解码它们。毕竟,如果你解码太多次,那不应该造成任何问题。
答案 2 :(得分:0)
无法重现您的问题。
<form>
<input type="hidden" name="bar" value="10/12/2010">
<input type="submit">
</form>
这会在地址栏中显示正确的转义。您是不是在<a>
元素中提供此网址?然后你需要在HTML页面你自己中通过硬编码或利用服务器端语言提供的功能来转义它。