在 url 查询参数中添加 %%

Add %% in a url query parameter

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

生成的示例 url
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 它时,它 returns 'ERROR 500: Internal Server Error'。但是,如果我将最后一个宏 '%25%25TAG_PRICE%25%25' 替换为一些实际值,例如5.2,那么这个urlreturn的有效回复。

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

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

最后我发现如果我对宏 %%TAG_PRICE%% 进行两次编码,它工作正常,即如果我在上面的 url, 浏览器成功加载其内容。