【问题标题】:HttpWebResponse return The remote server returned an error: (403) ForbiddenHttpWebResponse return 远程服务器返回错误:(403) Forbidden
【发布时间】:2010-06-30 21:11:46
【问题描述】:

我想得到 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";

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

【问题讨论】:

    标签: c#


    【解决方案1】:

    看来您还需要发送Accept 标头。发送带有以下标头的请求将起作用:

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

    【讨论】:

    • 似乎有必要在输入时添加接受标头。使用 webclient 的人可以这样做:webClient.Headers.Add("accept", "*/*");
    • 对我没有帮助
    【解决方案2】:

    您需要通过网络请求传递身份验证凭据:

    request.Credentials = new NetworkCredentials("username", "password");
    

    【讨论】:

      【解决方案3】:

      确保您的凭据设置正确。

      request.Credentials = CredentialCache.DefaultCredentials;
      
      // if we have a proxy set its creds as well
      if( request.Proxy != null )
      {
         request.Proxy.Credentials = CredentialCache.DefaultCredentials;
      }
      

      如果您需要特定的凭据,您可以通过这种方式创建它们

      request.Credentials = new NetworkCredentials("username", "password");
      

      【讨论】:

      • 嗯,没有解决方案有效。我没有用户名和密码。为什么我需要用户名和密码来阅读 HTML?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-13
      相关资源
      最近更新 更多