Skip to main content
 首页 » 编程设计

c#之HttpWebResponse 返回远程服务器返回错误 : (403) Forbidden

2024年01月21日26www_RR

我想得到 HTML 输出

http://www.belmondo.si/turisticna-ponudba/pocitnice/kratkirezultati?cid=ID&cityid=DPS&izhid=&trajanjeid=&oskrbaid=&kategorijaid=&ooseb=2&otrok=0&lasten=1&prvic=1&rid=0-1&subtemplate=eksotika

但我总是得到

HTTPWEBRESPONSE 远程服务器返回一个错误:(403) Forbidden

我正在使用 HttpWebResponse

protected string GetHtmlStringA(string url) 
    { 
        string sHtml = ""; 
        HttpWebRequest request; 
        HttpWebResponse response = null; 
        Stream stream = null; 
        request = (HttpWebRequest)WebRequest.Create(url); 
        response = (HttpWebResponse)request.GetResponse(); 
        stream = response.GetResponseStream(); 
        StreamReader sr = new StreamReader(stream, System.Text.Encoding.Default); 
        sHtml = sr.ReadToEnd(); 
        if (stream != null) stream.Close(); 
        if (response != null) response.Close(); 
        return sHtml; 
    } 

我也尝试使用 UserAgent,但它是一样的

req.request= 
                    "Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.0.13) Gecko/2009073022 Firefox/3.0.13"; 

我在论坛或互联网上找不到任何解决方案

请您参考如下方法:

看来您还需要发送一个Accept header 。发送带有以下 header 的请求将有效:

request.UserAgent = "Foo"; 
request.Accept = "*/*";