HttpWebRequest имеет пустой ответ, запрашивающий поиск у Bing - PullRequest
1 голос
/ 07 апреля 2010

У меня есть следующий код, который отправляет запрос HttpWebRequest в Bing. Когда я запрашиваю URL-адрес ниже, он возвращает пустой ответ, когда должен возвращаться список результатов.

var response = string.Empty;
var httpWebRequest = WebRequest.Create("http://www.bing.com/search?q=stackoverflow&count=100") as HttpWebRequest;

httpWebRequest.Method = WebRequestMethods.Http.Get;
httpWebRequest.Headers.Add("Accept-Language", "en-US");
httpWebRequest.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Win32)";
httpWebRequest.Headers.Add(HttpRequestHeader.AcceptEncoding, "gzip,deflate");

using (var httpWebResponse = httpWebRequest.GetResponse() as HttpWebResponse)
{
    Stream stream = null;
    using (stream = httpWebResponse.GetResponseStream())
    {
        if (httpWebResponse.ContentEncoding.ToLower().Contains("gzip"))
            stream = new GZipStream(stream, CompressionMode.Decompress);
        else if (httpWebResponse.ContentEncoding.ToLower().Contains("deflate"))
            stream = new DeflateStream(stream, CompressionMode.Decompress);

        var streamReader = new StreamReader(stream, Encoding.UTF8);
        response = streamReader.ReadToEnd();
    }
}

Это довольно стандартный код для запроса и получения веб-страницы. Есть идеи, почему ответ пуст? Заранее спасибо.

РЕДАКТИРОВАТЬ Я пропустил параметр строки запроса в URL. У меня также было & count = 100, которое я сейчас исправил. Кажется, что работает для значений 50 и ниже, но ничего не возвращает, когда больше. Это работает нормально, когда в браузере, но не для этого веб-запроса.

Это заставляет меня думать, что проблема в том, что ответ большой, и HttpWebResponse не обрабатывает это для меня так, как я его настроил. Просто предположение, хотя.

Ответы [ 2 ]

1 голос
/ 07 апреля 2010

Ваш код отлично работает на моей машине.

Я предлагаю вам получить копию Fiddler и изучить фактическую сессию HTTP.Может быть, прокси или брандмауэр.

1 голос
/ 07 апреля 2010

Это прекрасно работает на моей машине. Возможно, вам IP запрещен в Bing?

...