我有一个这样的网址:product//excerpts?feature=picture+modes
当我从浏览器访问此 url 时,后端收到的请求为:“product//excerpts?feature=picture+modes”
在 Web 服务器端,我使用 + 作为分隔符。所以 feature=picture+modes 意味着有 2 个特征:图片和模式
我创建了自动脚本(Java),它会转到 url 并检索其内容。当我运行此脚本时,后端收到的请求为:“product/B000NK6J6Q/excerpts/feature=picture%2Bmodes”
这是因为在我的脚本(Java)中,我使用 URLEncoder.encode 将 + 转换为 %2B 并将这个编码的 url 发送到服务器。
为什么Java提供的urlEncoders和浏览器(FF/IE)提供的urlEncoders不同。我如何使它们相同?我如何解码它们?(URLDecoder.decode 上的“+”提供空间)另外,是否根据约定(和规范?)使用“+”作为分隔符?
实践