2011-08-09 68 views
0

我甚至沒有絲毫的線索知道我在這裏做錯了什麼。我的頭都搞砸了。cURL fetch a facebook api page

所以基本上我想取https://www.facebook.com/dialog/stream.publish?access_token=bla-bla這個頁面的一些表單數據。 我使用PHP捲曲lib中that.My實際的代碼庫是like--

$furl='https://www.facebook.com/dialog/stream.publish?access_token=bla-bla&other-pram'; 
$cookie_string=""; 
foreach($_COOKIE as $key => $value) { 
    $cookie_string .= "$key=$value;"; 
}; 
$curl=curl_init(); 
curl_setopt($curl,CURLOPT_URL,$furl); 
curl_setopt ($curl, CURLOPT_REFERER,'my domain'); 
curl_setopt($curl, CURLOPT_HEADER, 1); 
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); 
curl_setopt ($curl, CURLOPT_USERAGENT,$_SERVER['HTTP_USER_AGENT']); 
curl_setopt ($curl, CURLOPT_COOKIE,$cookie_string); 
curl_setopt($curl, CURLOPT_ENCODING, ""); 
$buffer = curl_exec($curl); 
curl_close($curl); 
//var_dump($buffer); 
if (empty($buffer)) 
{ 
    print "Sorry,no content."; 
} 
else 
{ 
    print $buffer; 
} 

這美元我的服務器捲起的工作只是在browser.But精細它顯示了一些like--

HTTP/1.1 200 OK Cache-Control:private,no-cache,no-store,must-revalidate Expires:Sat,01 Jan 01 00:00:00 GMT P3P:CP =「Facebook沒有P3P政策。 http://fb.me/p3p「Pragma:no-cache Set-Cookie:__utma = deleted;到期日=星期四,1970年1月1日00:00:01 GMT;路徑= /;域= .facebook.com; httponly Set-Cookie:__utmb = deleted;到期日=星期四,1970年1月1日00:00:01 GMT;路徑= /;域= .facebook.com; httponly Set-Cookie:__utmc = deleted;到期日=星期四,1970年1月1日00:00:01 GMT;路徑= /;域= .facebook.com; httponly Set-Cookie:__utmz = deleted;到期日=星期四,1970年1月1日00:00:01 GMT;路徑= /;域= .facebook.com; httponly Set-Cookie:_e_Jjuf_0 =已刪除;到期日=星期四,1970年1月1日00:00:01 GMT;路徑= /;域= .facebook.com; httponly Set-Cookie:c1 = deleted;到期日=星期四,1970年1月1日00:00:01 GMT;路徑= /;域= .facebook.com; httponly Set-Cookie:c2_top = deleted;到期日=星期四,1970年1月1日00:00:01 GMT;路徑= /;域= .facebook.com; httponly Set-Cookie:ck_expr = deleted;到期日=星期四,1970年1月1日00:00:01 GMT;路徑= /;域= .facebook.com; httponly Set-Cookie:ckmsg = deleted;到期日=星期四,1970年1月1日00:00:01 GMT;路徑= /;域= .facebook.com; httponly Set-Cookie:datr = vG1BThzB5emc65eco5mEIJt-;到期=星期四,08-Aug-2013 17:26:20 GMT;路徑= /;域= .facebook.com; httponly Set-Cookie:fb_ss = deleted;到期日=星期四,1970年1月1日00:00:01 GMT;路徑= /;域= .facebook.com; httponly Set-Cookie:fbs_undefined = deleted;到期日=星期四,1970年1月1日00:00:01 GMT;路徑= /;域= .facebook.com; httponly Set-Cookie:locale = en_US; expires =星期二,16-Aug-2011 17:26:20 GMT;路徑= /; domain = .facebook.com Set-Cookie:lsd = _G6Yd;路徑= /; domain = .facebook.com Set-Cookie:PHPSESSID = deleted;到期日=星期四,1970年1月1日00:00:01 GMT;路徑= /;域= .facebook.com; httponly Set-Cookie:wd = deleted;到期日=星期四,1970年1月1日00:00:01 GMT;路徑= /;域= .facebook.com; httponly內容編碼:gzip內容類型:text/html; charset = utf-8 X-FB-Server:10.63.23.62 X-Cnection:close傳輸編碼:分塊日期:2011年8月9日星期二17:26:20 GMT

所以它表示我是LOGED OUT.BUT但我可以從瀏覽器訪問FB.Do必須改變捲曲??我甚至不知道從哪裏開始尋找...: - [ 任何幫助將大大升值。

編輯:代碼已更新。

回答

1

您正在使用POST方法,通常用於將數據發送到站點。很可能你想要使用GET來代替。由於GET是curl的默認值,如果您沒有另行指定,只需刪除CURLOPT_POST行即可。

+0

是的,你是對的,但現在它顯示'LOGOUT'問題.' MyAppName發生錯誤。請稍後再試。「爲什麼是這樣呢?因爲我已經發送了accessToken ..所以問題在哪裏? –

+0

請記住,curl在您的服務器上運行,並完全/完全獨立於您的瀏覽器正在做什麼。如果你想curl從FB中獲取需要登錄的事情,你必須用curl複製登錄過程。 –

+0

這就是我說的ñ我說我已經有一個AccessToken爲當前會話用戶ñ我不知道用戶的登錄details.so這也沒有幫助。 –