我需要一種方法來檢查tweet是否存在。我有鏈接到鳴叫,如https://twitter.com/darknille/status/355651101657280512
。我最好要一個快速的方法來檢查(無需檢索頁面,只是HEAD請求體),所以我想是這樣的檢查微博狀態是否存在?
function if_curl_exists($url)
{
$resURL = curl_init();
curl_setopt($resURL, CURLOPT_URL, $url);
curl_setopt($resURL, CURLOPT_BINARYTRANSFER, 1);
curl_setopt($resURL, CURLOPT_HEADERFUNCTION, 'curlHeaderCallback');
curl_setopt($resURL, CURLOPT_FAILONERROR, 1);
$x = curl_exec ($resURL);
//var_dump($x);
echo $intReturnCode = curl_getinfo($resURL, CURLINFO_HTTP_CODE);
curl_close ($resURL);
if ($intReturnCode != 200 && $intReturnCode != 302 && $intReturnCode != 304) {
return false;
}
else return true;
}
或類似這樣的
function if_curl_exists_1($url)
{
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_NOBODY, true);//head request
$result = curl_exec($curl);
$ret = false;
if ($result !== false) {
//if request was ok, check response code
echo $statusCode = curl_getinfo($curl, CURLINFO_HTTP_CODE);
if ($statusCode == 200) {
$ret = true;
}
}
curl_close($curl);
return $ret;
}
但是這兩個返回null與curl_exec()
,沒有什麼可以檢查http狀態碼。
另一種方法是使用Twitter的API,像GET statuses/show/:id
https://dev.twitter.com/docs/api/1.1/get/statuses/show/%3Aid但如果推不存在,這裏https://dev.twitter.com/discussions/8802
我需要諮詢最新最快的方法來檢查,我說沒有什麼特別的返回值在php中做。
如果沒有推文匹配'id',twitter API調用會返回什麼內容? – dm03514
Docs對此沒有提及,因爲您可以在上面的鏈接中閱讀。 –