在网址查询参数

时间:2017-04-25 15:37:18

标签: java url-encoding

我正在形成一个包含另一个url作为其查询字符串参数之一的url。这个url应该从我们在tomcat上部署的webapp返回一些xml代码。 下面是我使用Java生成的示例网址:

http://localhost:8080/sample/url?id=1&uid=sfdgsdh&nurl=https%3A%2F%2Flocalhost%3A8080%2Fxmltag%2Freturn%3Fzid%3D1_0_1%26sid%3Dfdd61fce-29b4-11e7-9ac0-eb0a8802439b%26au_pc%3D%25%25TAG_PRICE%25%25

现在的问题是,当我从浏览器点击此url或wget它时,它会返回'ERROR 500:Internal Server Error'。但是,如果我将最后一个宏'%25%25TAG_PRICE%25%25'替换为一些实际值,例如5.2,然后这个url返回有效的响应。

所以我假设问题是在查询字符串中传递%% TAG_PRICE %%。无论编码与否,它都无法工作,我需要在我的网址中使用此宏。我尝试使用eclipse调试器调试它,但它甚至没有达到web servlet的init方法。我不知道如何解决这个问题。

感谢任何帮助。提前谢谢。

1 个答案:

答案 0 :(得分:0)

最后我发现,如果我对宏%% TAG_PRICE %%进行两次编码,它就可以正常工作,即如果我在上面的网址中插入%2525TAG_PRICE%2525作为查询参数,浏览器会成功加载其内容。