如何解决从Twitter API处理“超能力”响应
| 我正在使用Ruby脚本来自动从用户或术语列表中收集推文,并且它可以工作,除非Twitter容量过大。然后,Twitter返回一个没有错误代码的HTML页面供我捕获。 HTML退出分析器,脚本失败。如何检查该HTML响应并进行适当处理?我尝试使用“直到成功”的方法(在下面的代码中进行了注释),但是每次都无法解决。 我正在使用logger,twitter和twitter4r gem,并通过OAuth进行身份验证。除非Twitter容量过大,否则下面的代码有效。如果没有返回RestErrors,则仅进入本节。 这是我的代码: # until success
# begin
if search_type == \"users\"
# begin
tweets_array = client.timeline_for(:user,:id => row.chomp,:since_id => since_status_id,:count => 200)
success = true
# rescue
# log.info(\"error getting tweets. waiting to try again.\")
# sleep 180
# end
elsif search_type == \"terms\"
# begin
tweets_array = client.search(:q => row.chomp,:count => 200)
success = true
# rescue
# log.info(\"error getting tweets. waiting to try again.\")
# sleep 180
# end
elsif
log.fatal(\"unsupported search type. exiting.\")
break
end # search type
# end
我根据答案尝试的代码:
begin
tweets_array = client.timeline_for(:user,:count => 200)
success = true
rescue Twitter::RESTError => re
log.info(row.chomp + \": \" + re.code.to_s + \" \" + re.message.to_s + \" \" + re.uri.to_s)
if re.code = 503
sleep 180
end
end
解决方法
您可以检查结果的HTTP状态码,应为503。
http://twitter.com/503
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。