2011-05-13 37 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在這裏似乎很慢)