Ранее я сделал запрос HttpWebRequest, который отлично работал, и мой StreamReader отлично прочитал HTML-код веб-сайта.
Но внезапно, после проверки его функциональности и подтверждения того, что он работал много раз, программа зависает, когда дело доходит до строки StreamReader.
Я попытался удалить эту строку, и код продолжился.
Дело в том; Я попытался ввести сайт, отличный от того, который мне нужно использовать (я ввел www.google.com), и он работал отлично. Поэтому я сделал вывод, что мне больше не нужен доступ только к веб-сайту, из-за которого я думаю, что конечная часть (веб-сайт) отменяет мое соединение или блокирует меня или что-то в этом роде. НО! Сам HttpWebRequest не зависает или что-то еще, что должно означать, что он успешно установил запрос к веб-сайту?
Достаточно болтовни, вот код:
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("website here");
MessageBox.Show("1"); //This is shown.
string HTMLLink = (new StreamReader(request.GetResponse().GetResponseStream())).ReadToEnd(); //This is where the program hangs....
MessageBox.Show("2"); //This is not shown! Below this isn't being executed.
if (HTMLLink.Length > 0)
{
HTMLLink = HTMLLink.Substring(HTMLLink.IndexOf("uuu"), HTMLLink.Length - HTMLLink.IndexOf("uuu"));
HTMLLink = HTMLLink.Substring(0, HTMLLink.IndexOf("\" TARGET="));
request = (HttpWebRequest)WebRequest.Create(HTMLLink);
string HTML = (new StreamReader(request.GetResponse().GetResponseStream())).ReadToEnd();
if (HTML.Length > 0 && HTML.Contains(" </script><br><br><br>") && HTML.Contains(" <br><br><script "))
{
HTML = HTML.Substring(HTML.IndexOf(" </script><br><br><br>") + 22, HTML.IndexOf("<br><br><script "));
HTML = HTML.Substring(0, HTML.IndexOf("<br><br><script "));
HTML = HTML.Replace("\r\n", "");
HTML = HTML.Replace("\n", "");
HTML = HTML.Replace("<br>", "\r\n");
HTML = HTML.Replace("<BR>", "\r\n");
HTML = HTML.Replace("<br />", "\r\n");
HTML = HTML.Replace("<BR />", "\r\n");
textBox.Text = HTML;
}
}
И имейте в виду, что он работал отлично раньше, чем внезапно начал зависать, и что он отлично работает с www.google.com.
И, кстати, да, я провел много поисков. Нет полезных результатов.
Я уже попробовал тайм-аут, тайм-аут работает.
Может, сайт заблокировал мою программу, думая, что это паук? что тогда?
Каждый раз, когда я достигаю StreamReader (независимо от того, как я его настроил), он начинает зависать.
И он продолжает висеть, это не дает никакого результата.
Это ТОЛЬКО происходит с lyrics007.com, это именно тот сайт, который мне нужен. Работает нормально с гуглом.
Помогите, пожалуйста!
Заранее спасибо!