我使用 C#。
我第一次在我的代码中使用 WebRequest GetRequestStream() 时,最多需要 20 秒。之后不到 1 秒。
下面是我的代码。 “this.requestStream = httpRequest.GetRequestStream()”行导致延迟。
StringBuilder postData = new StringBuilder(100);
postData.Append("param=");
postData.Append("test");
byte[] dataArray = Encoding.UTF8.GetBytes(postData.ToString());
this.httpRequest = (HttpWebRequest)WebRequest.Create("http://myurl.com");
httpRequest.Method = "POST";
httpRequest.ContentType = "application/x-www-form-urlencoded";
httpRequest.ContentLength = dataArray.Length;
this.requestStream = httpRequest.GetRequestStream();
using (requestStream)
requestStream.Write(dataArray, 0, dataArray.Length);
this.webResponse = (HttpWebResponse)httpRequest.GetResponse();
Stream responseStream = webResponse.GetResponseStream();
StreamReader responseReader = new System.IO.StreamReader(responseStream, Encoding.UTF8);
String responseString = responseReader.ReadToEnd();
我怎样才能知道是什么原因造成的? (例如:DNS 查找?服务器没有响应?)
感谢和问候,科恩
最佳答案
您也可以尝试设置 .Proxy = null。有时它会尝试自动检测占用时间的代理。
关于C# 我第一次使用 GetRequestStream() 需要 20 秒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3354455/