首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET Framework >

关于WebClient的DownloadData奇怪有关问题,有知道的大大麻烦进来看哈

2012-03-16 
关于WebClient的DownloadData奇怪问题,有知道的大大麻烦进来看哈!事情是这样的:我写了一个.net的程序,具体

关于WebClient的DownloadData奇怪问题,有知道的大大麻烦进来看哈!
事情是这样的:
我写了一个.net的程序,具体代码如下:

C# code
 WebClient mywebclient = new WebClient();        byte[] bytes = mywebclient.DownloadData("http://seasoncoffee.cn.alibaba.com/athena/contact/seasoncoffee.html");

 
运行后出现错误:
远程服务器返回错误: (404) 未找到。 
但是我将“http://seasoncoffee.cn.alibaba.com/athena/contact/seasoncoffee.html”复制到IE中又可以直接访问,说明该地址是存在的。
后来我又将“http://seasoncoffee.cn.alibaba.com/athena/contact/seasoncoffee.html”这个地址换成了“http://www.baidu.com”,程序成功运行。

难道是“http://seasoncoffee.cn.alibaba.com/athena/contact/seasoncoffee.html”禁止什么访问权限吗?想了半天,实在不解。。。

有哪位高手知道的麻烦说下,谢谢了~~




[解决办法]
帮顶一下.
[解决办法]
找个http调试工具看看ie给钱一个网站发送了什么消息头。
[解决办法]
--------------only to be reference 
我是用的mshtml,的axWebBrowser控件,如果你有兴趣的话 给你复制代码。
[解决办法]
给你一个 我写的方法吧 没用控件


C# code
 /// <summary>    /// 访问网络上的文件HTML    /// </summary>    /// <param name="url"></param>    /// <returns></returns>    public static byte[] webRequestByte(string url) {        WebRequest request = WebRequest.Create(url);        WebResponse response = request.GetResponse();        Stream resStream = response.GetResponseStream();          int bytelength=(int)response.ContentLength;        Byte[] bytevalue = new Byte[bytelength];       // resStream.Read(bytevalue, 0, bytevalue.Length);          int num=0;        int m;        while (1 > 0)        {            m = resStream.Read(bytevalue, num, bytelength);            if(m==0)break;            num += m;           //当前已下载的字节数            bytelength -= m;    //剩余字节数   总字节数:(int)response.ContentLength                                    }        resStream.Close();        return bytevalue;       // StreamReader sr = new StreamReader(resStream, System.Text.Encoding.Default);  //转换成字符串 输出      //  ContentHtml.Text = sr.ReadToEnd();        // sr.Close();        //WebClient 得到字节流        //WebClient wc=new WebClient();        // Stream srm=wc.OpenRead(TempDown);                //区别在于  WebRequest 是 system.net 空间下的 抽象类,你可以对它进行扩展        //WebClient 非抽象类    } 

热点排行