Обикновено не бих използвал OpenRead()
, вместо това опитайте DownloadData()
или DownloadString()
.
Също така може да се окаже, че wikipedia умишлено блокира вашата заявка, защото не сте предоставили низ на потребителски агент:
WebClient client = new WebClient();
client.Headers.Add("user-agent",
"Mozilla/5.0 (Windows; Windows NT 5.1; rv:1.9.2.4) Gecko/20100611 Firefox/3.6.4");
Използвам WebClient доста често и доста бързо научих, че уебсайтовете могат и ще блокират вашата заявка, ако не предоставите низ на потребителски агент, който съответства на известен уеб браузър. Освен това, ако създадете свой собствен низ от потребителски агент (напр. „моят супер готин уеб скрепер“), вие също ще бъдете блокирани.
[Редактиране]
Промених моя примерен низ на потребителски агент с този на модерна версия на Firefox. Оригиналният пример, който дадох, беше низът на потребителския агент за IE6, което не е добра идея. Защо? Някои уебсайтове може да извършат филтриране въз основа на IE6 и да изпратят на всеки с този браузър съобщение или до друга страница, която казва „Моля, актуализирайте браузъра си“ – това означава, че няма да получите съдържанието, което сте искали.
person
JK.
schedule
27.01.2011