我正在使用Twitter API来显示用户的状态。但是,在某些情况下(比如今天),Twitter会关闭并使用它来获取所有API。因此,我的应用程序失败并不断显示加载屏幕。
我想知道是否有一种快速的方法(使用PHP或JS)来查询Twitter并查看它(以及API)是否已启动。我认为它可能是一种简单的回应。
提前致谢, 菲尔
答案 0 :(得分:6)
请求http://api.twitter.com/1/help/test.xml
或test.json
。检查以确保获得200 http响应代码。
如果您请求XML,则响应应为:
<ok>true</ok>
JSON响应应为:
"ok"
答案 1 :(得分:1)
<强> JSONP!强>
您可以使用这样的函数,在头部声明或在包含下面的下一个脚本标记之前:
var isTwitterWorking = false;
function testTwitter(status) {
if (status === "ok") {
isTwitterWorking = true;
}
}
然后
<script src="http://api.twitter.com/1/help/test.json?callback=testTwitter"></script>
Demo(可能需要一段时间,Twitter的API似乎在这里很慢)
答案 2 :(得分:0)
function visit($url) {
$agent = "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)";$ch=curl_init();
curl_setopt ($ch, CURLOPT_URL,$url );
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch,CURLOPT_VERBOSE,false);
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
$page=curl_exec($ch);
//echo curl_error($ch);
$httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if($httpcode>=200 && $httpcode<300)
return true;
else
return false;
}
// Examples
if(visit("http://www.twitter.com"))
echo "Website OK"."n"; // site is online
else
echo "Website DOWN"; // site is offline / show no response
我希望这会对你有所帮助。