检查Twitter API是否已关闭(或整个网站是否已关闭)

时间:2011-05-13 17:42:43

标签: php javascript twitter

我正在使用Twitter API来显示用户的状态。但是,在某些情况下(比如今天),Twitter会关闭并使用它来获取所有API。因此,我的应用程序失败并不断显示加载屏幕。

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

提前致谢, 菲尔

3 个答案:

答案 0 :(得分:6)

请求http://api.twitter.com/1/help/test.xmltest.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

我希望这会对你有所帮助。