我在网站上继承了这段(PHP)代码,该网站获取了该帐户的Twitter粉丝,但它在错误日志中返回以下内容:
PHP Warning: file_get_contents(http://twitter.com/users/show/twitterusername): failed to open stream: HTTP request failed! HTTP/1.0 404 Not Found\r
凡' twitterusername'是我的推特用户名。如果我在浏览器中访问该URL,确实会返回找不到的页面。我怀疑Twitter在某个阶段已经改变了一些东西(不知道什么时候),这导致了这个失败,这个脚本需要更新。
任何人都可以帮我解决需要改变的问题吗?
提前致谢。代码如下:
$cache = get_transient('twitterfollowerscount' . $username);
if ($cache) {
$count = get_option('twitterfollowerscount' . $username);
if($count ==0){
$url = 'http://twitter.com/users/show/' . urlencode($username);
$xml=file_get_contents($url);
if (preg_match('/followers_count>(.*)</',$xml,$match)!=0) {
$count = $match[1];
}
set_transient('twitterfollowerscount' . $username, 'true', 60 * 30);
update_option('twitterfollowerscount' . $username, $count);
}
} else {
$url = 'http://twitter.com/users/show/' . urlencode($username);
$xml=file_get_contents($url);
if (preg_match('/followers_count>(.*)</',$xml,$match)!=0) {
$count = $match[1];
}
set_transient('twitterfollowerscount' . $username, 'true', 60 * 30);
update_option('twitterfollowerscount' . $username, $count);
}
return $count;
}
答案 0 :(得分:0)
使用Twitter API更容易,并使用followers/list
请求获取您的关注者列表。
https://dev.twitter.com/rest/reference/get/followers/list
如果Twitter像你现在一样改变URL结构中的内容,那就更好了。