2010-08-24 74 views
0

我正在尝试发布状态更新至Twitter。我写了一个API调用,这样,当我做向Twitter发送状态。浏览器与代码

http://.....&token= $令牌& S = $ token_secret &味精=你好......当我输入网址到浏览器正常工作。状态已正确发布。但是,当我想通过file_get_contents($ url)发布状态,其中$ url与浏览器的工作方式相同时,我收到“未能打开流:HTTP请求失败!HTTP/1.0 401未经授权“

我做了一些测试,并且它与url编码无关。我正在那样做。

因此,有谁知道它为什么通过浏览器,但不通过代码? Twitter是否阻止非浏览器用户代理?

非常感谢您的帮助。

回答

0

听起来像当你在浏览器中尝试它时,你是以你自己的身份登录的,所以你的帖子正在经历。但是,当您在代码中运行它时,它不会发送您的Cookie,因此未登录,因此无权发布。

您的代码是否尝试登录?

+0

感谢您的猜测。我们意识到问题实际上是Apache授权安全性......当通过浏览器进行操作时,我们只需使用我们的凭据登录,并且由于浏览器保存了我们的凭据,所以我们忘记了我们必须这样做。一些简单的CURL头文件在代码中用apache服务器授权来解决这个问题。 – apexdodge 2010-09-16 16:19:31