【发布时间】:2015-07-17 18:10:04
【问题描述】:
因为 facebook 开发 API 不支持多张图片的帖子。 我想通过 PHP 在 m.facebook.com 上发布它,因为没有任何 javascript 只是一个表单提交。
当我通过 php curl 和 3 个文件发送 https 帖子时。Facebook 服务器总是返回错误页面。 我确定我的 cookie 是正确的并且我已经登录。 我还尝试了一些 PHP 后期客户端类。也没有工作 这是示例代码。
$ch1 = curl_init();
curl_setopt($ch1, CURLOPT_HEADER, false);
curl_setopt($ch1, CURLOPT_URL, 'https://upload.facebook.com/_mupload_/composer/?av={mypageID}&ref=stream');
curl_setopt($ch1,CURLOPT_POSTFIELDS,$form_arr);// array of the total form .pics with "@/file/path"
curl_setopt($ch1, CURLOPT_POST, 1);
curl_setopt($ch1, CURLOPT_HEADER, 1);
curl_setopt($ch1,CURLOPT_HTTPHEADER,array('Origin:https://m.facebook.com',"Content-Type:multipart/form-data"));
curl_setopt($ch1,CURLOPT_BINARYTRANSFER,true);
curl_setopt($ch1, CURLOPT_HEADER, 1);
curl_setopt($ch1, CURLINFO_HEADER_OUT, 1);
curl_setopt($ch1, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch1, CURLOPT_COOKIEJAR, $cookie_file_path);
curl_setopt($ch1, CURLOPT_COOKIEFILE, $cookie_file_path);
curl_setopt($ch1, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch1, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch1, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch1, CURLOPT_REFERER, "https://m.facebook.com/composer/mbasic/?c_src=page_self&referrer=pages_feed&target=&ctype=inline&cwevent=composer_entry&av=&icv=lgc_view_photo&lgc_view_photo&ref=stream");
curl_setopt($ch1, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3");
$page = curl_exec($ch1) or die(curl_error($ch1));
【问题讨论】:
-
只是不要 Facebook 会一直为你打破它。出于错误和故意。