![](/img/trans.png)
[英]Error from WebClient: “The remote server returned an error: (503) Server Unavailable”
[英]How to overcome from 503 Server unavailable error?
我正在向未知服務器發出 http 請求。 當我從瀏覽器發出請求時,它就像一個魅力,但每當我從我的應用程序發出相同的請求時,我就會得到 503 服務器不可用。
我搜索了這個錯誤,發現這是由於服務器暫時不可用造成的,另一個回答是因為服務器認為這個調用是從機器人應用程序發出的。
我向同一台服務器發出了相同類型的請求,並且 uri 中只有很小的變化。 除了這個電話之外,所有以前的電話都在工作。
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;
}
請檢查和幫助。
我已經找到了上述解決方案
csrf-token was mismatched.
我已經更正了csrf-token ,這就像一個魅力。
我正在使用
request.Headers.Set("spa-csrf-token", sp_csr);
並將錯誤的sp_csr值發送到服務器。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.