Php cURL和Facebook问题

Php cURL和Facebook问题,php,facebook,curl,Php,Facebook,Curl,我正在使用cURL访问facebook页面。在本地,它工作得很好,但当我将它上传到我的dev服务器时,它会中断并返回一个空字符串。我已经检查并在服务器上安装了cURL。以下是我用来访问facebook的代码: $header = array(); $header[] = 'Accept: text/json'; $header[] = 'Cache-Control: max-age=0'; $header[] = 'Connection: keep-alive'; $header[] = 'Ke

我正在使用cURL访问facebook页面。在本地,它工作得很好,但当我将它上传到我的dev服务器时,它会中断并返回一个空字符串。我已经检查并在服务器上安装了cURL。以下是我用来访问facebook的代码:

$header = array();
$header[] = 'Accept: text/json';
$header[] = 'Cache-Control: max-age=0';
$header[] = 'Connection: keep-alive';
$header[] = 'Keep-Alive: 300';
$header[] = 'Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7';
$header[] = 'Accept-Language: en-us,en;q=0.5';
$header[] = 'Pragma: ';

$ch = curl_init(); 

curl_setopt($ch, CURLOPT_URL, 'http://facebook.com/feeds/page.php?format=json&id=135137236003');
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.0.11) Gecko/2009060215 Firefox/3.0.11 (.NET CLR 3.5.30729)');
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_AUTOREFERER, true); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_ENCODING, '');
curl_setopt($ch, CURLOPT_TIMEOUT, 20);

$result = curl_exec($ch);

curl_close ($ch);

感谢您的帮助

将accept头更改为
*/*
application/json
,因为facebook正在以
application/json
的形式发送响应头

并更改此url

http://facebook.com/feeds/page.php?format=json&id=135137236003


因为facebook正在将非www请求重定向到www请求。虽然它适用于放置跟随位置,但它可以节省一次往返行程

是否启用了php_curl?您可以通过echo phpinfo()查找,如果没有curl,则可以找到curl这个词。您是否尝试过卷曲其他页面以排除您的服务器和facebook之间是否存在问题?是的,我尝试过卷曲google(本地和开发人员上)并且可以使用。Facebook在本地工作,但不在开发平台上。就是这样。为什么需要在本地服务器和开发服务器之间进行更改?我想这是因为curl的版本不同:)
http://www.facebook.com/feeds/page.php?format=json&id=135137236003