public function gk_get()
{
$courseId = 185;
$url = 'http://time.geekbang.org/serv/v1/article';
//初始化
$curl = curl_init();
//設置抓取的url
$headerOptions = [
"Accept: application/json, text/plain, */*",
"Accept-Encoding: gzip, deflate, br",
"Accept-Language: zh-CN",
"Connection: keep-alive",
"Content-Length: 58",
"Content-Type: application/json",
"Cookie: gksskpitn=3159b21b-0651-4bf0-b2df-5d04d3c5d461; _ga=GA1.2.452630884.1585702530; _gid=GA1.2.1543509748.1585702530; LF_ID=1585702533807-2608779-9979434; GCID=b45fa5c-e31f2e2-6e9b07d-f85a389; GRID=b45fa5c-e31f2e2-6e9b07d-f85a389; GCESS=BAcE2YitrQoEAAAAAAsCBAAFBAAAAAABBE2SFwAGBLXkg34EBAAvDQAJAQEIAQMMAQEDBJoKhF4CBJoKhF4-; Hm_lvt_022f847c4e3acd44d4a2481d9187f1e6=1585705098,1585705866,1585711765,1585711782; Hm_lpvt_022f847c4e3acd44d4a2481d9187f1e6=1585711784; SERVERID=1fa1f330efedec1559b3abbcb6e30f50|1585711825|1585702519; _gat=1",
"Host: time.geekbang.org",
"Origin: https://time.geekbang.org",
"Referer: https://time.geekbang.org/column/article/185",
'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.81 Safari/537.36 Maxthon/5.3.8.2000'
];
$postOptions = [
"id" => $courseId,
"include_neighbors" => false,
"is_freelyread" => true
];
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($curl, CURLOPT_SSLVERSION, 1);
//設置頭文件的信息作爲數據流輸出
curl_setopt($curl, CURLOPT_HTTPHEADER, $headerOptions);
curl_setopt($curl, CURLOPT_HEADER, 0);
//設置獲取的信息以文件流的形式返回,而不是直接輸出。
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
//設置post方式提交
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 5);
//設置post數據
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($postOptions));
$proxy = '';
curl_setopt($curl, CURLOPT_PROXY, $proxy);
curl_setopt($curl,CURLOPT_FOLLOWLOCATION,1);
//執行命令
$data = curl_exec($curl);
$errno = curl_errno($curl);
//關閉URL請求
curl_close($curl);
var_dump($data);
var_dump($errno);
}
使用賬號登陸,通過瀏覽器獲取header信息,替換代碼中的header參數,獲取並不能抓取,