Я пытаюсь написать приложение, которое получает котировки акций из Google Finance и графически их отображает на C#. Моя программа использует класс HttpWebRequest для запроса исходного кода для веб-страницы, содержащей котировку акций, примерно каждые тридцать секунд. После получения источника я затем извлекаю кавычки и рисую их.Проблемы с использованием HttpWebRequest (C#)
Моя проблема заключается в том, что когда программа идет о запросе каждые 30 секунд, примерно в 50% случаев я вызываю «objWebReq.GetResponse()», я получаю исключения тайм-аута! Я проверил подключение к Интернету, и я абсолютно уверен, что я подключен, когда происходят исключения таймаута. Есть ли что-то, что я делаю неправильно, это может заставить Google иногда отклонять мою просьбу? Вот часть моей программы, которая делает запрос на исходный код.
//Create and configure object for request
HttpWebRequest objWebReq = (HttpWebRequest)WebRequest.Create(url); //Valid URL
objWebReq.Timeout = MSWAIT; //Set to 10 seconds
objWebReq.Method = "GET";
objWebReq.ContentType = "text/html";
objWebReq.KeepAlive = false;
objWebReq.Referer = "http://www.google.com/finance";
objWebReq.UserAgent =
"Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2) Gecko/20100115
Firefox/3.6";
StreamReader objStream = null;
//Create Object for the response.
try
{
HttpWebResponse objWebResp = (HttpWebResponse)objWebReq.GetResponse();
objStream = new StreamReader(objWebResp.GetResponseStream(),
System.Text.Encoding.ASCII);
}
catch
{
//Do Nothing
}
return objStream;
}
+1 для информации о 'использовании' и' encoding'! – RedFilter
Я изменил свой код, чтобы разместить структуру, которую вы описали, и выглядит так, как будто это исправлено. До сих пор я собирал данные за час (120 исходных запросов) без каких-либо исключений времени. Спасибо за вашу помощь! – Toast