示例:
http://foo.com/generatepdf.aspx?u=http://foo.com/somepage.aspx?color=blue&size=15
我添加了iis标签,因为我猜它还取决于您使用的服务器技术?
答案 0 :(得分:3)
服务器技术不应该有所作为。
将值传递给查询字符串时,需要url encode名称/值对。如果要传入包含特殊字符(如问号(?))的值,则只需将该字符编码为%3F即可。如果您需要以递归方式将另一个查询字符串传递给已编码的网址,则需要对原始网址进行双/三/等编码才能生成原始文件?变成%253F,%25253F等
答案 1 :(得分:2)
您可能希望UrlEncode查询字符串中的网址。
答案 2 :(得分:0)
是的,据我所知,根据RFC 3986: Uniform Resource Identifier (URI): Generic Syntax(从2005年开始):
这是the query string的BNF:
query = *( pchar / "/" / "?" )
pchar = unreserved / pct-encoded / sub-delims / ":" / "@"
规范说:
(但我想你的服务器框架可能会也可能不会完全遵循规范。)
答案 3 :(得分:0)
如http://en.wikipedia.org/wiki/Query_string
中所述W3C建议所有Web服务器都支持分号分隔符 除了&符分隔符(link reported on that wiki page)允许 HTML中的URL中的application / x-www-form-urlencoded查询字符串 没有实体逃避&符号的文件。
所以,我想这个问题的答案是肯定的,你必须改变一个&#34 ;;"分号"&" &符号用于键=值分隔符。
答案 4 :(得分:-1)
不,但您可以对网址进行编码并稍后解码。