HttpWebRequest и WebResponse.GetResponse дают неполный ответ - PullRequest
5 голосов
/ 21 июня 2011

Я довольно RESTless прямо сейчас, потому что я продолжаю получать неполные ответы от Amazon. Я использую API рекламы продукта, делая один запрос ItemLookup на сервер.

Код на C # довольно прост:

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
HttpWebResponse response = (HttpWebResponse) request.GetResponse();

string resultString;
using (StreamReader sr = new StreamReader(response.GetResponseStream()))
{
    resultString = sr.ReadToEnd();
}

Количество символов, которые я получаю, составляет 17408 - довольно постоянное, но я также видел что-то около 16 000.

Вот как это всегда заканчивается:

...ount><CurrencyCode>EUR</CurrencyCode><FormattedPrice>EUR 11,33</FormattedPri

Есть ли что-то, чего я не знаю о HttpWebRequest или API Amazon? Пожалуйста, помогите!

url (не волнует ключ) edit: плохая идея, превышен лимит ...

1 Ответ

3 голосов
/ 21 июня 2011

Это сработало для меня:

    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
    HttpWebResponse response = (HttpWebResponse) request.GetResponse();
    Stream s = response.GetResponseStream();
    using (StreamReader sr = new StreamReader(s))
    {
        s.Flush();
        resultString = sr.ReadToEnd();

        ...
    }
...