简体   繁体   English

如何克服 503 服务器不可用错误?

[英]How to overcome from 503 Server unavailable error?

I am doing an http request to the unknown server.我正在向未知服务器发出 http 请求。 When i make request from browser then it works like a charm but whenever i make the same request from my application then i get 503 Server unavailable.当我从浏览器发出请求时,它就像一个魅力,但每当我从我的应用程序发出相同的请求时,我就会得到 503 服务器不可用。

I searched for this error and found that this is caused due to server temporary unavailable and another answered as the server believe that this call is made from a bot application.我搜索了这个错误,发现这是由于服务器暂时不可用造成的,另一个回答是因为服务器认为这个调用是从机器人应用程序发出的。

I made same kind of request to the same server and there is only a small change in the uri.我向同一台服务器发出了相同类型的请求,并且 uri 中只有很小的变化。 All previous calls are working except this one.除了这个电话之外,所有以前的电话都在工作。

private static Root_BoardingStationList Request_BoardingStation(string uri, string auth,string greq, string sp_csr)
    {      
        Root_BoardingStationList rootBoaringStationEnquiry = null;
        string captchaImageURL = string.Empty;
        string html = string.Empty;
        try
        {
            var request = (HttpWebRequest)WebRequest.Create(uri);
            request.Referer = "https://www.irctc.co.in/nget/train-list";
            request.Headers.Set("Authorization", "Bearer " + login_authorization_bearer);
            request.Headers.Set("greq", greq);
            request.Headers.Set("spa-csrf-token", sp_csr);
            request.Proxy = null;
            request.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate | DecompressionMethods.None;
            request.CookieContainer = new CookieContainer();
            request.Method = method;
            request.ContentType = contentType;
            request.KeepAlive = true;
            request.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36";
            request.Connection = "keepalive";                

            using (var response_ = (HttpWebResponse)request.GetResponse())
            {
                var responseString = new StreamReader(response_.GetResponseStream()).ReadToEnd();
            }                
        }
        catch (WebException ex)
        {
            ExceptionLog.HandleException(ex);
            using (var sr = new StreamReader(ex.Response.GetResponseStream()))
                html = sr.ReadToEnd();

        }
        return rootBoaringStationEnquiry;
    } 

Please check and help.请检查和帮助。

在此处输入图片说明

I have found the solution for above as我已经找到了上述解决方案

 csrf-token was mismatched. 

I have corrected csrf-token and this works like a charm.我已经更正了csrf-token ,这就像一个魅力。

I was using我正在使用

request.Headers.Set("spa-csrf-token", sp_csr);

and sent wrong sp_csr value to server.并将错误的sp_csr值发送到服务器。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 来自WebClient的错误:“远程服务器返回错误:(503)服务器不可用” - Error from WebClient: “The remote server returned an error: (503) Server Unavailable” HttpWebRequest错误:503服务器不可用 - HttpWebRequest Error: 503 server unavailable HttpListener服务器返回错误:(503)服务不可用 - HttpListener server returns an error: (503) Service Unavailable 远程服务器返回错误:(503)服务器不可用。 在谷歌翻译 - The remote server returned an error: (503) Server Unavailable. in Google Translator 如何克服错误 - How to overcome from the error 避免 ElasticSearch 错误 503 服务器不可用:使用 WaitForStatus - Avoiding ElasticSearch error 503 Server Unavailable: Use of WaitForStatus Whille检查http状态代码得到错误提示-远程服务器返回错误:(503)服务器不可用 - whille checking http status code getting error saying - The remote server returned an error: (503) Server Unavailable 使用Google.GData.Apps的异常:远程服务器返回错误:(503)服务器不可用 - Exception using Google.GData.Apps : The remote server returned an error: (503) Server Unavailable WCF:远程服务器返回错误:“(417)预期失败”和“(503)服务器不可用” - WCF: The remote server returned an error: '(417) Expectation Failed' and '(503) Server Unavailable' EWS Api 给出超时和 (503) 服务器不可用 - EWS Api gives timeout and (503) Server Unavailable
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM