2011-05-13 99 views
2

我正在使用Twitter API来显示用户的状态。但是,在某些情况下(比如今天),Twitter会下降并且带走所有的API。因此,我的应用程序失败并持续显示加载屏幕。检查Twitter API是否关闭(或整个网站一般都关闭)

我想知道是否有快速的方法(使用PHP或JS)来查询Twitter并查看它(和API)是否启动。我认为这可能是某种简单的回应。

由于提前, 菲尔

回答

6

要求http://api.twitter.com/1/help/test.xmltest.json。检查以确保您获得200个http响应代码。

如果您请求的XML响应应该是:

<ok>true</ok> 

的JSON的反应应该是:

"ok" 
+0

非常感谢,伟大的作品 – psarid 2011-05-13 19:29:08

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 

我希望这可以帮助你。

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在这里似乎很慢)