Httpresponse错误503

时间:2015-05-12 13:44:31

标签: c# http httpwebrequest cloudflare http-status-code-503

我试图从CloudFlare托管的网站下载网页数据。它使用HTTPS并在进入页面之前获取连接的ID。

我试图在WebRequest和WebResponse中获取ID,但我收到以下错误:

  

未处理的类型' System.Net.WebException'发生在System.dll中   附加信息:远程服务器返回错误:(503)服务器不可用。

我试图向Fiddler提出请求,这是回复:

HTTP/1.1 503 Service Temporarily Unavailable
Date: Tue, 12 May 2015 13:38:17 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
Set-Cookie: __cfduid=d57a7d982035dad7ebafe63444d125e451431437897; expires=Wed, 11-May-16 13:38:17 GMT; path=/; domain=.hornystress.me; HttpOnly
X-Frame-Options: SAMEORIGIN
Refresh: 8;URL=/cdn-cgi/l/chk_jschl?pass=1431437901.815-Ym1g5qTodK
Cache-Control: no-cache
Server: cloudflare-nginx
CF-RAY: 1e5685ed559606ee-LHR

这是我的代码:

public static string GetCookie(string link)
{
    WebRequest request = WebRequest.Create("https://hornystress.me");
    request.Proxy = WebProxy.GetDefaultProxy();
    request.Timeout *= 100;
    WebResponse response = request.GetResponse();
    return response.Headers.Get("Set-Cookie");
}

3 个答案:

答案 0 :(得分:1)

无论你做什么,都可能看起来像是对网站的攻击&它正在触发安全功能。您可能希望要求网站所有者将正在进行呼叫的IP列入白名单。

答案 1 :(得分:0)

它的Cloudflare安全性,旨在阻止您尝试做的事情。您无法使用脚本访问该网站。

答案 2 :(得分:0)

问题是网站正常响应是Error code 503我想要的cookie ...所以编译器抛出WebException错误;我应该抓住...

    public static string GetCookie()
    {
        WebRequest request = WebRequest.Create("https://hornystress.me");
        request.Proxy = WebProxy.GetDefaultProxy();
        request.Timeout *= 100;
        string cookie;
         WebResponse response;
        try
        {
          response  = request.GetResponse();
          cookie = response.Headers.Get("Set-Cookie");
        }
        catch (WebException we)
        {
           cookie=we.Response.Headers.Get("Set-Cookie");
        }
        return cookie;
    }