【发布时间】:2014-01-16 16:11:25
【问题描述】:
我想使用 HTTP GET 查询字符串访问 Web 资源,例如:
http://stackoverflow.com/search?q=search%20example&tab=relevance
在常规的 .NET Framework 4.5 应用程序中,您可以使用System.Net.WebClient.QueryString:
备注
QueryString 属性包含一个 NameValueCollection 实例,其中包含作为查询字符串附加到 URI 的名称/值对。 QueryString 属性的内容以问号 (?) 开头,名称/值对由 & 号 (&) 分隔。
对于商店应用,您甚至可以使用 Windows.Foundation.WwwFormUrlDecoder 解析它们。
但是对于创建查询字符串,我在 MSDN 中能找到的最好的 sn-p 是这样的:
UriBuilder baseUri = new UriBuilder("http://www.contoso.com/default.aspx?Param1=7890");
string queryToAppend = "param2=1234";
if (baseUri.Query != null && baseUri.Query.Length > 1)
baseUri.Query = baseUri.Query.Substring(1) + "&" + queryToAppend;
else
baseUri.Query = queryToAppend;
(来自:http://msdn.microsoft.com/en-us/library/system.uribuilder.query(v=vs.110).aspx)
Microsoft 是否真的暗示我应该自己将参数与“=”和“&”一起加入?没有更好的办法吗?
【问题讨论】:
标签: c# .net windows-runtime windows-store-apps url-encoding