我试图以这种方式传递另一个链接:
http://www.1st_site.com/?u=http://www.2nd_site.com/?parameter1=xyz
我认为问题是什么,参数1 = xyz作为1st_site的参数传递
无论如何都要避免这种情况?
答案 0 :(得分:3)
您需要URL-encode表示为查询参数值的整个网址,否则它将被解释为请求网址的一部分,因此此部分:http://www.2nd_site.com/?parameter1=xyz
。
目前还不清楚您正在使用哪种编程语言,但大多数不错的基于Web的语言都提供了实现此目的的函数/方法/类,例如: Java中为URLEncoder
,JSP / JSTL中为c:url
和c:param
,PHP中为urlencode()
,JavaScript中为escape()
。
这里至少是一个在线网址编码器:http://meyerweb.com/eric/tools/dencoder/。如果您输入http://www.2nd_site.com/?parameter1=xyz
,则应该返回http%3A%2F%2Fwww.2nd_site.com%2F%3Fparameter1%3Dxyz
,以便请求网址最终有效:
http://www.1st_site.com/?u=http%3A%2F%2Fwww.2nd_site.com%2F%3Fparameter1%3Dxyz