C#语言怎样解决从网页上下HTML代码error403 Forbidden的问题

来源:百度知道 编辑:UC知道 时间:2024/06/25 00:47:12
我想从10000个网页上下载HTML代码,但是有的网页显示error 403 Forbidden,请问,怎样通过添加代码来解决这个问题????

我写的代码:
string url = "http://en.wiktionary.org/wiki/ce";
HttpWebRequest request;
HttpWebResponse response;
StreamReader sr = null;
string htmlCode = "";
try
{
request = (HttpWebRequest)WebRequest.Create(url);

response = (HttpWebResponse)request.GetResponse();
sr = new StreamReader(response.GetResponseStream());
htmlCode = sr.ReadToEnd();
if (htmlCode == "")
Console.Write("cannot get HTMLCode.\n");
else
{
Console.Write("get HTMLCode, code le

获取响应的状态。
HttpWebResponse.StatusCode
403错误:HttpStatusCode.Forbidden

简单的方法是,判断返回的字符串中,是不是包含error 403 Forbidden就行了。

//下载网页
if(this.textBox1.Text==""|this.textBox2.Text=="")
return;
string FileName=this.textBox2.Text.Trim();
string URL=this.textBox1.Text.Trim();
//加"http://"标志
if (URL.IndexOf(@"http://")==-1 )
{
URL=@"http://"+URL;
}
HttpWebRequest MyRequest = (HttpWebRequest)WebRequest.Create(URL);
//发送请求,获取响应
HttpWebResponse MyResponse = (HttpWebResponse)MyRequest.GetResponse();
Stream MyInStream = null;
FileStream MyFileStream = null;
try
{
MyInStream =MyResponse.GetResponseStream();
long fileSizeInBytes = MyResponse.ContentLength;
//创建文件流对象
MyFileStream = new FileStream(FileName, FileMode.OpenOrCreate, FileAccess.Write);
int length = 1024