具体是某某品台 不多说
上代码
主要是要注意不停地调试 找到需要的cookie
具体URL打马赛克 host referer和Origin也是直接抄袭浏览器的即可
主要是通过
$jar = new CookieJar();来存储已经获取到的cookie然后代入下一个方法进行访问
然后 有的request的类型是json的 必须使用
postJson 方法
/*---------------------------------社会****平台 403----------------------------------------------*/
public function get_chinanpo_links($page=1,$number=10)
{
$url = "https://******.cn/****";
$url0 = "https://******.cn/****";
$url1= "https://******.cn/****";
$url2 = "https://******.cn/****";
$url3 = "https://******.cn/****";
echo "<pre>";
$jar = new CookieJar();
//第一步 获取到get中返回的cookie
// Cache::set('jar', null);
if (!Cache::get('jar')) {
$ql = QueryList::get($url, [], ['cookies' => $jar]);
$jar_128 = $jar;
$ql = QueryList::post($url0, [], ['cookies' => $jar]);
Cache::set('jar', $jar);
} else {
$jar = Cache::get('jar');
}
$cookieArr = $jar->toArray();
print_r($cookieArr);
$params1 = [
'headers' => [
'Accept' => 'application/json, text/plain, */*',
'Accept-Encoding' => 'gzip, deflate, br',
'Cookie' => $cookieArr[0]['Name'] . "=" . $cookieArr[0]['Value'] . "; " . $cookieArr[1]['Name'] . "=" . $cookieArr[1]['Value'],
'Accept-Language' => 'zh-CN,zh;q=0.9,en;q=0.8',
'Connection' => 'keep-alive',
'Content-Length' => 0,
'Host' => '******',
'Origin' => '******',
'Referer' => '******', //不能去掉
'Sec-Fetch-Dest' => 'empty',
'Sec-Fetch-Mode' => 'cors',
'Sec-Fetch-Site' => 'same-origin',
'User-Agent' => 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36'
]
];
$params2 = [
//'cookie'=>$jar,
'headers' => [
'Accept' => 'application/json, text/plain, */*',
'Accept-Encoding' => 'gzip, deflate, br',
'Accept-Language' => 'zh-CN,zh;q=0.9,en;q=0.8',
'Connection' => 'keep-alive',
'Content-Length' => 26,
'Content-Type'=> 'application/json;charset=UTF-8',
'Cookie' => $cookieArr[0]['Name'] . "=" . $cookieArr[0]['Value'] . "; " . $cookieArr[1]['Name'] . "=" . $cookieArr[1]['Value'],
'Host' => '******',
'Origin' => '******',
'Referer' => '******', //不能去掉
'Sec-Fetch-Dest' => 'empty',
'Sec-Fetch-Mode' => 'cors',
'Sec-Fetch-Site' => 'same-origin',
'User-Agent' => 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36'
]
];
$params3 = [
//'cookie'=>$jar,
'headers' => [
'Accept' => 'application/json, text/plain, */*',
'Accept-Encoding' => 'gzip, deflate, br',
'Accept-Language' => 'zh-CN,zh;q=0.9,en;q=0.8',
'Connection' => 'keep-alive',
'Content-Length' => 15,
'Content-Type'=> 'application/json;charset=UTF-8',
'Cookie' => $cookieArr[0]['Name'] . "=" . $cookieArr[0]['Value'] . "; " . $cookieArr[1]['Name'] . "=" . $cookieArr[1]['Value'],
'Host' => '******',
'Origin' => '******',
'Referer' => '******', //不能去掉
'Sec-Fetch-Dest' => 'empty',
'Sec-Fetch-Mode' => 'cors',
'Sec-Fetch-Site' => 'same-origin',
'User-Agent' => 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36'
]
];
print_r($params2);
// try {
// $ql = QueryList::post($url1, [], $params1);
// } catch (ClientException $e) {
// echo "<pre>";
// echo $e->getRequest();
// echo $e->getResponse();
// exit();
// }
try {
$ql = QueryList::postJson($url2, ['pageNo'=>$page,'pageSize'=>$number], $params2);
} catch (ClientException $e) {
echo "<pre>";
echo $e->getRequest();
echo $e->getResponse();
exit();
}
//
// try {
// $ql = QueryList::post($url3, ['id'=>"000000"], $params3);
// } catch (ClientException $e) {
// echo "<pre>";
// echo $e->getRequest();
// echo $e->getResponse();
// exit();
// }
print_r(json_decode($ql->getHtml()));
exit();
}