Я пытаюсь сделать следующее с помощью c# консольного приложения 3.1:
- ping url.
- получить ответ
- распечатать его на файл
Проблема:
- URL-адрес занимает около 15 секунд, чтобы получить ответ.
Код
WebRequest objWebRequest = WebRequest.Create(url);
objWebRequest.Timeout = Int32.Parse(obixTimeOut) * 1000;
string credentials = Convert.ToBase64String(Encoding.ASCII.GetBytes(username + ":" + password));
objWebRequest.Headers[HttpRequestHeader.Authorization] = string.Format("Basic {0}", credentials);
objWebRequest.Proxy = null;
ServicePointManager.UseNagleAlgorithm = false;
HttpWebResponse objWebResponse = (HttpWebResponse)objWebRequest.GetResponse();
StreamReader objStreamReader = new StreamReader(objWebResponse.GetResponseStream());
response = objStreamReader.ReadToEnd();
objStreamReader.Close();
Удивительные вещи:
- POSTMAN требуется около миллисекунды, чтобы получить ответ
- curl on gitbash занимает миллисекунду, чтобы получить ответ
- Windows Powershell занимает 15 секунд (так же, как консольное приложение) при первом получении ответа. Второй раз это занимает менее миллисекунды. [возможно через кеширование].
Не знаю, в чем проблема. Это проблема. NET?
или проблема с кодом?