Мое приложение в настоящее время использует OAuth для общения с Программным интерфейсом Твиттера. Еще в декабре Твиттер повысил ограничение скорости для OAuth к 350 запросам в час. Однако я не вижу это. Я все еще добираюсь 150 из account/rate_limit_status метода.
Мне сказали, что я должен был использовать X-RateLimit-Limit
HTTP-заголовок для получения нового ограничения скорости. Однако в моем коде, я не вижу тот заголовок.
Вот мой код...
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(newURL);
request.Method = "GET";
request.ServicePoint.Expect100Continue = false;
request.ContentType = "application/x-www-form-urlencoded";
using (WebResponse response = request.GetResponse())
{
using (StreamReader reader = new StreamReader(response.GetResponseStream()))
{
responseString = reader.ReadToEnd();
}
}
Если я осматриваю response
, Я вижу, что это имеет свойство для Headers
, и это там - 16 заголовков. Однако я не имею X-RateLimit-Limit
в списке.
(источник: yfrog.com)
Какая-либо идея, что я делаю неправильно?
Посмотрите на необработанный текст ответа (например, с помощью Fiddler). Если заголовка там нет, то никакой код C# не заставит его появиться :) Судя по тому, что вы показали, похоже, что заголовка в ответе нет.
Обновление: Когда я перехожу на: http://twitter.com/account/rate_limit_status.xml нет заголовка X-RateLimit-Limit
. Но когда я перехожу на http://twitter.com/statuses/public_timeline.xml, он там есть. Поэтому я думаю, что вам просто нужно использовать другой метод.
Но там все равно написано 150!
Вы должны просто уметь использовать:
using (WebResponse response = request.GetResponse())
{
string limit = response.Headers["X-RateLimit-Limit"];
...
}
Если это не сработает должным образом, вы можете посмотреть response.Headers и посмотреть, что там внутри.