如下图,我在模拟POST的时候是能抓到数据的,以前写的思路是先模拟登录,然后存Cookie,然后再curl 用保存的Cookie来登录直接获取数据,但是现在接口变了,需要先post json然后才能获取,百度了很多方法都不行,求助。
现模拟登录的代码:
function login_post($url, $cookie, $post){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$header = array ();
$header [] = 'Host:id.kuaishou.com';
$header [] = 'Connection:keep-alive';
$header [] = 'Content-Type:application/x-www-form-urlencoded';
$header [] = 'Cookie:did=web_xxxxx';
curl_setopt($ch, CURLOPT_HTTPHEADER, $header );
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie);
$login = curl_exec($ch);
curl_close($ch);
return $login;
}
然后想用刚刚保存的$cookie来抓数据,就抓不到了
用工具post是可以成功的,如下图: