为啥打开网页出现403forbidden的错误?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥打开网页出现403forbidden的错误?相关的知识,希望对你有一定的参考价值。

参考技术A 一、重置网络设置,重启手机即可。

二、原因分析:
1、你的IP被列入黑名单;
2、你在一定时间内过多地访问此网站(一般是用采集程序),被防火墙拒绝访问了;
3、网站域名解析到了空间,但空间未绑定此域名
4、你的网页脚本文件在当前目录下没有执行权限
5、在不允许写/创建文件的目录中执行了创建/写文件操作
6、服务器繁忙,同一IP地址发送请求过多,遭到服务器智能屏蔽
三、什么是403 Forbidden
1、403 Forbidden 是HTTP协议中的一个状态码(Status Code)。可以简单的理解为没有权限访问此站。
2、该状态表示服务器理解了本次请求但是拒绝执行该任务,该请求不该重发给服务器。在HTTP请求的方法不是“HEAD”,并且服务器想让客户端知道为什么没有权限的情况下,服务器应该在返回的信息中描述拒绝的理由。在服务器不想提供任何反馈信息的情况下,服务器可以用404 Not Found代替403 Forbidden比如:choovin。

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

我想从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 length = " + htmlCode.Length + "\n");
Console.Write(htmlCode);

response.Close();

catch (Exception e) Console.Write(e.Message);

我想中间应该加几句设定浏览器的语句就可以了,高分帮忙。
改好后实下这几个连接:
http://en.wiktionary.org/wiki/ce
http://en.wiktionary.org/wiki/ne
http://en.wiktionary.org/wiki/sont

参考技术A 简单的方法是,判断返回的字符串中,是不是包含error 403 Forbidden就行了。 参考技术B 获取响应的状态。
HttpWebResponse.StatusCode
403错误:HttpStatusCode.Forbidden
参考技术C public virtual int GetResponseCode(WebException exception)

if (exception.Status == WebExceptionStatus.ProtocolError && exception.Response != null &&
exception.Response is HttpWebResponse)

return (int)(((HttpWebResponse)exception.Response).StatusCode);


return 500;



用try catch 捕获WebException 然后判段

参考资料:初入江湖 多多指教啊

参考技术D //下载网页
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;
byte[] buffer = new byte[1025];
int bytesread = 0;
string strtemp="";
//从网络读取数据
while((bytesread = MyInStream.Read(buffer, 0, length)) > 0)
//把数据写入文件
MyFileStream.Write(buffer, 0, bytesread);
strtemp+=System.Text.Encoding.Default.GetString(buffer,0,bytesread);

MessageBox.Show("下载网页成功!","信息提示",MessageBoxButtons.OK,MessageBoxIcon.Information);

catch(Exception Err)

MessageBox.Show("下载网页操作失败!错误是:"+Err.Message,"信息提示",MessageBoxButtons.OK,MessageBoxIcon.Information);

finally

//关闭流
if(MyInStream != null)

MyInStream.Close();

if(MyFileStream != null)

MyFileStream.Close();




自己改了,该睡觉了,夜猫非我莫属也~!!

以上是关于为啥打开网页出现403forbidden的错误?的主要内容,如果未能解决你的问题,请参考以下文章

打开网址出现403 Forbidden 怎么解决?

打开网页显示403-forbidden啥意思啊

打开网页时出现403Forbidden是啥意思

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

打开网页下载东西提示403 Forbidden,该怎么解决,求详细步骤

WampServer 2.5设置外网访问/局域网手机访问(403 Forbidden错误解决方法)