ASP.NET HTML исходного кода приводит к возврату одного символа для XKCD - PullRequest
1 голос
/ 13 января 2011

Я пытаюсь получить html-код для сайта, используя следующий код в asp.net:

WebRequest webrq = WebRequest.Create("http://www.xkcd.com");

StreamReader str = new StreamReader(webrq.GetResponse().GetResponseStream());

string pageSrc = str.ReadToEnd().Trim();

Это работает для других сайтов, но для XKCD я получаю только один символ .

Есть идеи, что не так?

1 Ответ

1 голос
/ 13 января 2011

Разбейте ваш код немного больше:

var webRequest = WebRequest.Create("http://www.xkcd.com");
var webResponse = webRequest.GetResponse();
if (webResponse != null)
{
  var responseStream = webResponse.GetResponseStream();
  if (responseStream != null)
  {
    var streamReader = new StreamReader(responseStream);
    var pageSource = streamReader.ReadToEnd();
  }
}

Добавьте точку останова по адресу: if (webResponse != null) и посмотрите на объект ответа.Если все выглядит хорошо, перейдите к: if (responseStream != null) и посмотрите, что содержит поток.

Отладчик - ваш друг .Используйте его, чтобы увидеть, что на самом деле делает ваш код.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...