这是一个奇怪的一个,该fragment
真的不应该由服务器进行解析。但是,在你的示例网址中,最明显的片段正在被使用(可能在谷歌JS,客户端?)
这里有一个快速的黑客,似乎做你的需要通过编码整个查询:
string str =
"http://www.google.com/search?q=dvd+player&tbm=shop&hl=en&aq=f#q=car+speaker+&hl=en&sa=X&ei=vbtSTqTPDKXniAKy0-iDAw&ved=0CC0QpwUoAA&tbs=cat:895%2Cprice%3A1%2Cppr_min%3A50%2Cppr_max%3A99.99&tbm=shop&tbo=&fp=1&biw=851&bih=426&cad=b&bav=on.2,or.r_gc.r_pw.";
string[] arr = str.Split('?');
string uriString = arr[0] + "?" + HttpUtility.UrlEncode(arr[1]);
var uri = new Uri(uriString);
var request = (HttpWebRequest)WebRequest.Create(uri);
编辑
回想起来,fragment
正在客户端上的JS,而不是服务器使用侧。
一个更好的想法可能是理解谷歌的网址,也就是你的开放的我们应该是:
http://www.google.com/search?q=car+speaker&hl=en&tbs=cat:895,price:1,ppr_min:50&tbm=shop
禁用JavaScript一次,你会发现它是一个正在处理客户端的片段。 –