一直都忙着做项目都没空写文章了,今晚在写通过歌曲名称从百度下载歌词的程序时,不小心学到了一个比较好用的方法"HttpUtility.ParseQueryString"不敢独享,特此写下.用法:使用指定的System.Text.Encoding将查询的字符串分析成一个集合(此方法在 .NET Framework 2.0 版中是新增的)。
如:要查询字符串URL(http://box.zhangmen.baidu.com/m?gate=1&ct=134217728&tn=baidumt,想起 &word=wma,http://club.nx.cninfo.net/bbs/upload/audio/ZWdpa2iVaGliYmtkamlwcGZpazQ$.wma,,[%CF%EB%C6%F0]&si=%CF%EB%C6%F0;;%BD%AD%C3%C0%E7%F7;;13098;;13098&lm=16777216)中si参数是否有值,可以用下面的代码直接得到。
引用的命名空间:using System.Collections.Specialized;
string url = "http://box.zhangmen.baidu.com/m?gate=1&ct=134217728&tn=baidumt,想起 &word=wma,http://club.nx.cninfo.net/bbs/upload/audio/ZWdpa2iVaGliYmtkamlwcGZpazQ$.wma,,[%CF%EB%C6%F0]&si=%CF%EB%C6%F0;;%BD%AD%C3%C0%E7%F7;;13098;;13098&lm=16777216";
NameValueCollection queryString = HttpUtility.ParseQueryString(url, System.Text.Encoding.GetEncoding("GB2312"));
if (!string.IsNullOrEmpty(queryString["si"]))
{
Response.Write(queryString["si"]);
}
这样就可以直接得到si的值是"%CF%EB%C6%F0;;%BD%AD%C3%C0%E7%F7;;13098;;13098",是不是很方便呢!