111,093
社区成员




public static T RequestGet<T>(string url, string user,string password, ref int status)
{
string retval = null;
StringBuilder builder = new StringBuilder();
builder.Append(url);
builder.AppendFormat($"{user}?password={password}");
GC.Collect();
var request = (HttpWebRequest)WebRequest.Create(builder.ToString());
try
{
request.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
request.Headers.Add(HttpRequestHeader.AcceptEncoding, "gzip, deflate");
request.Headers.Add(HttpRequestHeader.AcceptLanguage, "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2");
request.Headers.Add(HttpRequestHeader.CacheControl, "no-cache");
System.Net.ServicePointManager.DefaultConnectionLimit = int.MaxValue;
ServicePointManager.Expect100Continue = false;
request.KeepAlive = false;
request.Method = "GET";
request.ContentType = "application/json; charset=UTF-8";
request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:59.0) Gecko/20100101 Firefox/59.0";
request.Proxy = null;
request.Timeout = 4000;
System.Threading.Thread.Sleep(200);
using (var Response = (HttpWebResponse)request.GetResponse())
{
using (var reader = new StreamReader(Response.GetResponseStream(), Encoding.UTF8))
{
retval = reader.ReadToEnd();
//reader.Dispose();
//reader.Close();
}
status = (int)Response.StatusCode;
//Response.Dispose();
//Response.Close();
}
T t = Newtonsoft.Json.JsonConvert.DeserializeObject<T>(retval);
return t;
}
catch (WebException e)
{
if (e.Response == null)
{
status = 300;
return default(T);
}
var rsp = e.Response as HttpWebResponse;
var httpStatusCode = (int)rsp.StatusCode;
status = httpStatusCode;
retval = e.Message;
}
finally
{
request.Abort();
request = null;
}
return default(T);
}
一秒请求一次,第283次请求就有异常了
引发的异常:“System.Net.WebException”(位于 System.dll 中)
283
引发的异常:“System.Net.WebException”(位于 System.dll 中)
621
引发的异常:“System.Net.WebException”(位于 System.dll 中)
645
引发的异常:“System.Net.WebException”(位于 System.dll 中)
647
引发的异常:“System.Net.WebException”(位于 System.dll 中)
650
线程 0x2c0c 已退出,返回值为 0 (0x0)。
引发的异常:“System.Net.WebException”(位于 System.dll 中)
706
引发的异常:“System.Net.WebException”(位于 System.dll 中)
734
引发的异常:“System.Net.WebException”(位于 System.dll 中)
736
引发的异常:“System.Net.WebException”(位于 System.dll 中)
742
线程 0x1390 已退出,返回值为 0 (0x0)。
引发的异常:“System.Net.WebException”(位于 System.dll 中)
895