use*_*089 1 vb.net query-string
我需要发送以下查询字符串:
http://prod.intranet.siemens.com.br/drvs/index.aspx?page=2&pag=4&varpatch=%20C:\Documents%20and%20Settings\OPE253\My%20Documents\Ca$@#!
Run Code Online (Sandbox Code Playgroud)
然后我尝试将此分配给一个字符串,但.NET打破了字符串
http://prod.intranet.siemens.com.br/drvs/index.aspx?page=2&pag=4&varpatch=%20C:\Documents%20and%20Settings\OPE253\My%20Documents\Ca$@
Run Code Online (Sandbox Code Playgroud)
'#"不会出现在查询字符串中
有任何想法吗?
不,因为"#"是保留字符.它用于链接到网页中的特定位置:
http://en.wikipedia.org/wiki/HTML_anchor#Overview
因此浏览器将URL拆分为"#".
您需要将"#"编码为"%23"
你需要使用String.Replace:
Dim outputURL As String = inputURL.Replace("#", "%23")
Run Code Online (Sandbox Code Playgroud)
或HttpUtility.UrlEncode(仅编码查询字符串):
Dim outputQueryString As String = HttpUtility.UrlEncode(inputQueryString)
Run Code Online (Sandbox Code Playgroud)