2

我刚刚在我的浏览器上尝试了以下 URL:http://www.google.com/search?hl=en&q=http://www.yahoo.com/path/to/location它有效!是什么让它发挥作用?除了用 + 或 %20 等替换空格之外,为什么还要对 URL 进行编码?也就是说,即使我没有任何有效 URL 中不允许的字符,我是否仍需要对我的 URL 进行编码?

谢谢你的时间。

4

2 回答 2

1

浏览器通常会自动对 url 进行编码,并且可能会或可能不会显示它已编码。PHP 脚本可能会也可能不会自动对其进行编码……如果没有,则会导致 URL 解析错误或其他问题。

于 2010-10-29T13:35:31.353 回答
1

您的浏览器可能对您在发送请求之前键入的 URL 进行了 URL 结尾编码。您应该能够通过检查实际的 HTTP 请求来检查这一点。例如,在 Firefox 中,您可以使用 LiveHttpHeaders 执行此操作。

于 2010-10-29T13:36:12.273 回答