地址1:http://download.zol.com.cn/down.php?softid=115875&subcatid=432&site=6||
地址2:http://download.zol.com.cn/down.php?softid=120499&subcatid=432&site=7||我用下面方法传人地址一时 在GetResponse()时报错(远程服务器返回错误: (403) 已禁止。),传入第二个地址就没问题。 用IE分别打开上面两个列表,能看出其中的不同。但是如何在下列代码中解决上述问题? System.Net.HttpWebRequest request;
//创建一个HTTP请求
request = (System.Net.HttpWebRequest)WebRequest.Create(strURL);
System.Net.HttpWebResponse response;
request.KeepAlive=false; response = (System.Net.HttpWebResponse)request.GetResponse();

解决方案 »

  1.   

    try catch啊,   第一个出错了就试第二个,或者用一个while 不断试,直到连上一个为止string[] strURLs= {http://....,http://.....)
    while(! isSuccess)
    {
    try
    {
    request = (System.Net.HttpWebRequest)WebRequest.Create(strURL[i]);
    isSuccess=true;
    }catch{isSuccess=false;}
    }
      

  2.   

    http://download.zol.com.cn/down.php?softid=115875&subcatid=432&site=6||
    这个地本来就有错响应不了,并不是你的代码有问题
      

  3.   

    谢谢大家,不过几万条的数据不可能靠Try catch 解决。
    还有一点是,就是错误连接我也要取出其相关信息,期待高手的出现。
      

  4.   

    又没人回答了?这个帖子也是http://community.csdn.net/Expert/TopicView.asp?id=4855042
    CSDN怎么了?
      

  5.   

    response 会返回相关信息的代码的 ,入 200 ok, 403 forbidden ,自己去看看是那个属性吧
      

  6.   

    是吗?GetResponse() 就抛异常了,我还获得什么?
    问题已经解决,权限不够,
    request.Referer ="http://download.zol.com.cn/detail/14/134017.shtml";
    加上此句就可以了。