我想用HTTP GET查询字符串访问Web资源,例如:
http://stackoverflow.com/search?q=search%20example&tab=relevance
在常规的.NET Framework 4.5应用程序中,您可以使用System.Net.WebClient.QueryString:
对于商店应用程序,您甚至可以使用Windows.Foundation.WwwFormUrlDecoder解析它们。备注
QueryString属性包含一个NameValueCollection实例,其中包含作为查询字符串附加到URI的名称/值对。 QueryString属性的内容以问号(?)开头,并且名称/值对彼此之间由&符号(&)分隔。
但是对于创建查询字符串,我在MSDN中找到的最好的代码片段是这个:
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/zh-cn/library/system.uribuilder.query(v=vs.110).aspx)
微软真的在暗示我应该自己使用“=”和“&”来连接我的参数吗?难道没有更好的方法吗?