Пытаюсь спарсить страницу сайта в обход CloudFlare, раньше на других сайтах выходило, но теперь при обращении к разделу /cdn-cgi/l/chk_jschl, не отдаются куки. Хотя на первой странице __cfduid, генерируется, что может быть не так?
Код:
htaccess
RewriteEngine on
RewriteRule . index.php [QSA,L]
index.php
<?
$id = urldecode($_SERVER['REQUEST_URI']);
if(strstr($id, 'chk_jschl')) {
$cook = file_get_contents("aa.txt");
if( $curl = curl_init() ) {
curl_setopt($curl, CURLOPT_URL, "https://hitbtc.com" . $id);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_COOKIE, $cook);
curl_setopt($curl,CURLOPT_ENCODING, '');
curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36');
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
':authority: hitbtc.com',
':method: GET',
':path: ' . $id,
':scheme: https',
'accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
'accept-language: ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7',
'referer: https://hitbtc.com/',
'upgrade-insecure-requests: 1'
));
curl_setopt($curl, CURLOPT_HEADER ,1);
$out2 = curl_exec($curl);
curl_close($curl);
list($headers, $out) = explode("\r\n\r\n",$out2,2);
echo $out2;
}
} else {
if( $curl = curl_init() ) {
curl_setopt($curl, CURLOPT_URL, "https://hitbtc.com/");
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36');
curl_setopt($curl,CURLOPT_ENCODING, '');
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
':authority: hitbtc.com',
':method: GET',
':scheme: https',
'accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
'accept-language: ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7',
'upgrade-insecure-requests: 1'
));
curl_setopt($curl, CURLOPT_HEADER ,1);
$out2 = curl_exec($curl);
curl_close($curl);
preg_match_all('/Set-Cookie: (.*?);/', $out2, $matches);
file_put_contents("aa.txt",$matches[1][0]);
echo $out2;
}
}
?>
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Есть таблица отпусков, там есть поле видПо виду отпуска я вытаскиваю все данные