Php 为什么这个Twitter API脚本失败了?

Php 为什么这个Twitter API脚本失败了?,php,xml,api,twitter,Php,Xml,Api,Twitter,我从这个Twitter脚本中得到一个错误,导致页面的其余部分无法加载。不知道为什么会突然发生这种情况,因为它在相当长的一段时间内一直正常运行 脚本如下所示,它将用户的当前状态拉入: <?php $response = new SimpleXMLElement('http://twitter.com/users/show/tuscaroratackle.xml',NULL,TRUE); echo $response->status->text.''; ?> 状

我从这个Twitter脚本中得到一个错误,导致页面的其余部分无法加载。不知道为什么会突然发生这种情况,因为它在相当长的一段时间内一直正常运行

脚本如下所示,它将用户的当前状态拉入:

<?php  
$response = new SimpleXMLElement('http://twitter.com/users/show/tuscaroratackle.xml',NULL,TRUE);  
echo $response->status->text.'';  
?>
状态->文本。“;
?>
这是另一篇文章,我试图找出另一个错误的答案,该错误将我指向了这个Twitter错误

您可以在页脚或输出的屏幕抓图中看到它:。

相关错误(显示在链接页面的页脚中)是:

第一个警告告诉您发生了什么:“HTTP请求失败!HTTP/1.1 400错误请求”

因此,出于某种原因,您的服务器在向twitter发出HTTP请求以检索文档时出现故障http://twitter.com/users/show/tuscaroratackle.xml“。返回代码为
400错误请求

我刚刚从我的网络浏览器中尝试了相同的请求,但效果很好,所以要么twitter暂时“外出吃午饭”(这一情况不时发生),要么您的服务器的网络配置有一些独特之处。我的第一个猜测是,在您服务器的上游某处,有人安装了HTTP代理,该代理(出于未知原因)阻止了您的请求


以下是:

。我怀疑这是你的罪魁祸首。如果您不这么认为,那么您可以尝试以字符串形式检索文档,并在尝试解析它之前对其进行检查,以便查看消息是什么

这既快又脏,但它会得到信息,这样你就可以看到发生了什么:

$str = file_get_contents('http://twitter.com/users/show/tuscaroratackle.xml');
echo $str;
这可能由于400响应代码而失败。如果是这样,则需要使用获取未解析的响应体


祝你好运

我整天都在开发live(即大量重新加载)-这可能与API限制有关吗?如果在浏览器中打开会发生什么?是的。见下面我的答案。;-)非常感谢您的全面和周到的回复-我真的很感谢您花时间解释这一切。当你试图通过尝试和错误学习新东西时(比如我使用PHP和脚本!),你会感到非常沮丧。仅供参考——这对我来说是断断续续的,所以我想利率限制肯定是合适的。我也被建议缓存可以解决这个问题,但考虑到我的技能水平和效率,我可能会选择使用Twitter javascript小部件的更简单的解决方案。又来了!没问题!很高兴我能帮忙。。。缓存真的很容易。您可以很容易地获取该代码并更改
文件内容
以使用
simplexmlement
。无论你朝哪个方向走,祝你好运!
400 Bad Request: The request was invalid.  An accompanying error message 
will explain why. This is the status code will be returned during rate limiting.
$str = file_get_contents('http://twitter.com/users/show/tuscaroratackle.xml');
echo $str;