Rya*_*ord 9 c# twitter oauth httpwebresponse
我的应用目前使用OAuth与Twitter API进行通信.早在去年12月,Twitter就将OAuth的费率上限提高到每小时350个请求.但是,我没有看到这一点.我仍然从account/rate_limit_status方法获得150 .
有人告诉我,我需要使用X-RateLimit-LimitHTTP标头来获得新的速率限制.但是,在我的代码中,我没有看到标题.
这是我的代码......
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();
}
}
Run Code Online (Sandbox Code Playgroud)
如果我检查response,我可以看到它有一个属性Headers,并有16个标题.但是,我没有X-RateLimit-Limit在列表中.
图片http://img10.yfrog.com/img10/5997/33201085434am.png
知道我做错了什么吗?
Rus*_*rke 12
你应该简单地使用:
using (WebResponse response = request.GetResponse())
{
string limit = response.Headers["X-RateLimit-Limit"];
...
}
Run Code Online (Sandbox Code Playgroud)
如果这不能按预期工作,你可以看一下response.Headers并看看那里有什么.
查看原始响应文本(例如,使用 Fiddler)。如果标头不存在,那么再多的 C# 代码也无法让它出现。:) 从您所显示的内容来看,标头似乎不在响应中。
更新:当我访问:http://twitter.com/account/rate_limit_status.xml时,没有X-RateLimit-Limit标题。但是当我访问http://twitter.com/statuses/public_timeline.xml时,它就在那里。所以我认为你只需要使用不同的方法。
但它仍然显示 150!