这个问题没有具体的环境很难回答的。
就你所说的应该没有什么大问题,其实UrlEncode你完全可以对整个URL字符串的,而不必使用Replace了,没有这么麻烦。

解决方案 »

  1.   

    string sURL = "http://www.chinamp3.com/hktw/disclist.php?key=李克勤&singer_sex=1";System.Net.WebClient wc = new System.Net.WebClient();
    byte[] htmlBody = wc.DownloadData(sURL);string html = System.Text.Encoding.GetEncoding("GB2312").GetString(htmlBody);
      

  2.   

    //run at other or unknow codebase(need urlencode), u can try:string sURL = "http://www.chinamp3.com/hktw/disclist.php?key=李克勤&singer_sex=1";
    int startAt = sURL.IndexOf('?');
    if (startAt >0) {
    sURL = sURL.Substring(0, startAt+1) + System.Web.HttpUtility.UrlEncode(sURL.Substring(startAt +1));
    }System.Net.WebClient wc = new System.Net.WebClient();
    byte[] htmlBody = wc.DownloadData(sURL);string html = System.Text.Encoding.GetEncoding("GB2312").GetString(htmlBody);
      

  3.   

    这个网站是怎么搞的...你把sURL改成"http://libweb.iwmusic.com/music/music_lib/singer.asp?pagenow=3&name=李克勤"看看肯定html中的内容与浏览器中的内容不一样....这是怎么会事..该怎么解决啊.
      

  4.   

    是很奇怪。。换成用 socket 连80 试过是正常的,直接用 HTTP 应答,如果你不会回贴跟上你的邮件地址我发给你。
      

  5.   

    谢谢,谢谢!
    [email protected]
      

  6.   

    收到了,非常谢谢你!...但是还是无法获取到"http://libweb.iwmusic.com/music/music_lib/singer.asp?pagenow=3&name=李克勤"中的内容,仍然是pagenow=1的内容啊?你试过可以获取到pagenow=3的内容吗?(急啊我,,拜托你了阿利)
    而且我发现,如果直接在浏览器的地址栏里输入这个pagenow=3的地址回车,得到的仍然是pagenow=1的内容,只有点几刷新按钮后获取到的内容才是pagenow=3的,是不是在地址栏里回车和点几刷新按钮方式上有不同.
    而且点几也面上的page3联结也可以得到正确内容,是不是对方要求也FORM的形式提交pagenow=3的数据,如果是这样,该如何模拟这个提交的动作...........