ごめんなさい。私は10秒ごとにHttpWebRequestを使用します。しかし、いつか応答は非常に長い時間待つ。 10秒後に次のプロセスが始まります。したがって、リクエストはスタックされます。本社の措置のために、前回の接続が終了していないため禁止されています。 Timeout、ContinueTimeout、ReadWriteTimeoutのようなリクエストのプロパティを設定しましたが、結果は変更されませんでした。実際には例外に該当します。しかし、私が "Charles Proxy"を見ると、リクエストはまだ応答を待っています。しかし、私は何とかそれをやめなければなりません。私は自分のコードとチャールズの絵を共有します。あなたの答えをありがとう。宜しくお願いします。HttpWebRequest - リクエストの終了
string jsondata = "";
const string url = "https://website.com";
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
NameValueCollection header_items = GetHeaders();
req.Headers.Add(header_items);
req.Method = "POST";
req.Host = "website.com";
req.Accept = "application/json, text/plain, */*";
req.ContentType = "application/json;charset=utf-8";
req.KeepAlive = false;
req.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)";
req.Referer = "https://website.com";
req.AllowAutoRedirect = false;
req.ContinueTimeout = 5000;
req.ReadWriteTimeout = 5000;
req.Timeout = 5000;
req.ContentLength = 0;
ServicePointManager.Expect100Continue = true;
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls | SecurityProtocolType.Tls11;
ServicePointManager.DefaultConnectionLimit = 500;
ServicePointManager.DnsRefreshTimeout = 0;
ServicePointManager.MaxServicePointIdleTime = 5000;
ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(delegate { return true; });
try
{
using (HttpWebResponse response = (HttpWebResponse)req.GetResponse())
{
using (StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8))
{
jsondata = reader.ReadToEnd();
reader.Close();
}
response.Close();
}
if (jsondata.Length > 200)
{
//Do Something
}
}
catch (WebException ex)
{
req.Abort();
//Do Something
}
catch (Exception ex)
{
req.Abort();
//Do Something
}
を私は学び、あなたが与えている主題を適用しますが、何も変わっていないしています。 –