【发布时间】:2013-05-13 14:25:21
【问题描述】:
此代码不起作用:
$ch = curl_init ("https://api.twitter.com/1/statuses/user_timeline/ijustine.json?callback=twitterCallback2&count=4");
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);
$output = curl_exec ($ch);
var_dump($output);
如果我尝试访问:
https://api.twitter.com/1/statuses/user_timeline/ijustine.json?callback=twitterCallback2&count=4
在浏览器中手动输入此地址即可工作,并且 json 会显示在浏览器中。
但在我的脚本中它不起作用。
我正在使用 WAMP,并且 PHP (5.3.13) 中的 curl 扩展被激活,因为如果我运行:var_dump( curl_version() ); 我会得到版本为 7.25.0 的数组。
顺便说一句。这是有效的: $ch = curl_init("http://yahoo.com");
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);
$output = curl_exec ($ch);
var_dump($output);
但如果我尝试访问http://twitter.com,我会得到string '' (length=0)。如果我尝试https://twitter.com 我会得到boolean false 为什么?
我是否需要在我的本地主机或其他东西上启用任何额外的 php 扩展或一些 apache 模块?
【问题讨论】:
-
使用
http代替https,否则添加一些CURLOPT_SSL_*选项。 -
Code does not work without disabling SSL 的可能副本——您应该使用证书