Я использую следующий код, чтобы получить веб-страницу:C# HttpWebRequest не получает нужную страницу
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.UserAgent = "Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1667.0 Safari/537.36";
request.Method = "GET";
response = request.GetResponse();
reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
result = reader.ReadToEnd();
Это, как правило, работает, но у меня есть страница, которую я должен разобрать, что дает мне горе. Я не могу связать страницу непосредственно (это не доступно для внешних пользователей, к сожалению), но проблема заключается в следующем: я проверил исходный код из браузера и страницы имеет следующий тег в голове:
<link rel="alternate" type="application/rss+xml" title="blah blah blah title blah bla" href="http://url_of_the_site/feed/" />
В основном страницу Я возвращаюсь из своего HttpRequest на самом деле тот, который указан в этом href, который является ссылкой на RSS-канал сайта, вместо того, чтобы получать фактическую запрашиваемую страницу. Это похоже на то, что сайт «чувствует» что-то свое о моем запросе и думает, что я клиент RSS, а не браузер, или что-то в этом роде.
Любые идеи, почему это происходит? Как это исправить??
Его невозможно точно знать, не видя результата. Можете ли вы воспроизвести проблему с помощью «завитки»? Как выглядит запрос в 'Fiddler'? –