在我这里,浏览器也没有搜寻结果, 好像这工作
            Dim req As WebRequest = WebRequest.Create("http://search.xinhuanet.com/search/searchnews.jsp?sw=" & System.Web.HttpUtility.UrlEncode("流感", System.Text.Encoding.Unicode))
            
            Dim res As WebResponse = req.GetResponse()
            Dim stream As Stream = res.GetResponseStream()
            Dim reader As StreamReader = New StreamReader(stream, Encoding.Default)
            Dim strResult As String = reader.ReadToEnd() Console.WriteLine(strResult)

解决方案 »

  1.   

    把配制文件的unicode改成gb2312试一下!
      

  2.   

    使用思归大哥那个方法好像也不行,
    http://search.xinhuanet.com/search/searchnews.jsp?sw=%C1%F7%B8%D0&sc=1
    在地址栏里直接输入可以显示,但是在程序里也没结果。这个URL我在一个保存页面到MHT文件的程序里测试,10次中大部分失败,但也有两次成功。
      

  3.   

    对,用思归/MVP的方法是可以的,但它不是要的内容.而是变成了另外的ama这个字符串
    说明它是用了编码.
    所以我认为,肯定是在服务器端编程时作了判断.
    区分出是通过程序发的请求,还是直接在ie上发的请求
    我看了也许在request.heads上是不同的,通过程序发的
    就没有Accept-Encoding
    Accept-Language
    Cookie
    这三个信息.
    所以我想在程序发送时在heads加上这几个信息,怎么加?
    HttpWebRequest re =(HttpWebRequest)HttpWebRequest.Create(url);
    re.Accept ="*/*";
    这里不行.re.heads是只读的
    //re.Headers .Add("Accept-Encoding","utf-8");
      

  4.   

    >>>这里不行.re.heads是只读的???Are you sure??HttpWebRequest re =(HttpWebRequest)HttpWebRequest.Create(url);
    re.Headers.Add("Accept-Encoding", "gzip, deflate");
    .....
      

  5.   


    谢谢思归继续关注.
    HttpWebRequest re =(HttpWebRequest)HttpWebRequest.Create(url);
    re.Headers.Add("Accept-Encoding", "gzip, deflate");
    是对的,不是只读的,我以前搞错了.
    你用"流感"时,返回的都是什么?列几条结果出来国家给予合理补偿 今晚报 采集时间:2004年09月01日 09:24:32 6.2K字节 相关报道全国防治科技组成立 今晚报 采集时间:2004年09月01日 09:24:31 6.2K字节 相关报道世卫专家来华协助防控禽流感 今晚报 采集时间:2004年09月01日 09:24:31 6.2K字节 相关报道
      

  6.   

    you are right, it is the Accept-Language that is causing problems, try
        dim strURL as String = "http://search.xinhuanet.com/search/searchnews.jsp?sw=" & System.Web.HttpUtility.UrlEncode("流感", System.Text.Encoding.GetEncoding("GB2312"))
       Dim req As WebRequest = WebRequest.Create(strURL)
                req.Headers("Accept-Language") = "zh-CN"
                Dim res As WebResponse = req.GetResponse()
                Dim stream As Stream = res.GetResponseStream()
                Dim reader As StreamReader = New StreamReader(stream, Encoding.Default)
                Dim strResult As String = reader.ReadToEnd()     Console.WriteLine(strResult)