'cookie' => 'PHPSESSID=bb8c6955795a7100814d5704687b2280; city_path=moskow; current_path=66b73d920192636...'
curl_setopt
параметры CURLOPT_COOKIEFILE
и CURLOPT_COOKIEJAR
для сохранения и подключения куки из файла. Таким образом при входе на страницу все куки, которые она отдает, сохранятся у вас в файл и при следующем вызове CURL они автоматически подключатся и точно так же запишутся новые, если будет необходимо......
curl_setopt($curl, CURLOPT_COOKIEJAR, 'путь_до_файла');
curl_setopt($curl, CURLOPT_COOKIEFILE, 'путь_до_файла');
.....
ob_start();
{
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.87 Safari/537.36");
if ($cookie !== ''){
curl_setopt($curl, CURLOPT_COOKIE, $cookie);
}
curl_setopt($curl, CURLOPT_REFERER, null);
$super_cookie_fn = '$super_cookie_fn.cookie';
curl_setopt($curl, CURLOPT_COOKIEJAR, $super_cookie_fn);
curl_setopt($curl, CURLOPT_COOKIEFILE, $super_cookie_fn);
curl_exec($curl);
curl_close($curl);
//$new_cookie = curl_getinfo($curl, CURLINFO_COOKIELIST);
//echo Debug::d($new_cookie);
$parse = ob_get_contents();
}
ob_end_clean();
.....
$super_cookie_fn = __DIR__ .'/super_cookie_fn.cookie';
.....
$cookie_jar = tempnam('./','cookie');
$cookie_jar = './super_cookie_jar.txt';
$c = curl_init(Yii::$app->params['parse2_siteUrl']);
//$c = curl_init(Yii::$app->params['parse2_siteUrl2']);
curl_setopt($c, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.87 Safari/537.36");
//curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($c, CURLOPT_COOKIEJAR, $cookie_jar);
curl_setopt($c, CURLOPT_COOKIEFILE, $cookie_jar);
//curl_setopt($c, CURLOPT_, $cookie_jar);
$page = curl_exec($c);
curl_close($c);
//echo Debug::d($page);
tempnam
? Я вообще не понимаю вашей идеи. Имя файла с куками наоборот не должно меняться, чтобы они подгружались и если необходимо записывались новые в один и тот же файл. Напишите для начала просто рабочий код на основе того, что я вам написал выше, чтобы убедиться в работоспособности, и дальше уже добавляйте дополнительные функции/параметры. Вот полностью рабочий код на основе вашего:ob_start();
{
$url = 'https://ya.ru'; /* запрос к Яндексу */
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.87 Safari/537.36");
if ($cookie !== ''){
curl_setopt($curl, CURLOPT_COOKIE, $cookie);
}
curl_setopt($curl, CURLOPT_REFERER, null);
$super_cookie_fn = __DIR__ .'/super_cookie_fn.cookie'; /* путь до файла с куками */
curl_setopt($curl, CURLOPT_COOKIEJAR, $super_cookie_fn);
curl_setopt($curl, CURLOPT_COOKIEFILE, $super_cookie_fn);
curl_exec($curl);
curl_close($curl);
//$new_cookie = curl_getinfo($curl, CURLINFO_COOKIELIST);
//echo Debug::d($new_cookie);
$parse = ob_get_contents();
}
ob_end_clean();
print_r($parse); /* вывод полученного ответа на страницу */
$super_cookie_fn = __DIR__ .'/super_cookie_fn.cookie'; /* путь до файла с куками */
$cookie_jar = Yii::$app->getBasePath() . '/web/_ssuper_cccoookkie.txt';
//$cookie_jar = tempnam('./','cookie');
$cookie_jar = Yii::$app->getBasePath() . '/web/_ssuper_cccoookkie.txt';
echo $cookie_jar;
//file_put_contents($cookie_jar,'');
$c = curl_init();
$url = Yii::$app->params['parse2_siteUrl'];
$url = Yii::$app->params['parse2_siteUrl2'];
curl_setopt($c, CURLOPT_URL, $url);
curl_setopt($c, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.87 Safari/537.36");
curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($c, CURLOPT_HEADER,1);
//curl_setopt($c, CURLOPT_NOBODY,1);
//$cookie = 'PHPSESSID=a89905de5da83405986a1a9d15851bb6; city_path=astrahan; current_path=66b73d92019263641cf950c8eed05b57d1ea2dde703d1d4a0c9f2e8d9e158e0fa%3A2%3A%7Bi%3A0%3Bs%3A12%3A%22current_path%22%3Bi%3A1%3Bs%3A36%3A%223556b6b7-4a77-11e2-bc07-00155d030b1f%22%3B%7D; cartUserCookieIdent_v2=9a1baeee77af682d9c779ef566959f25ee03ae386cc88bbc4294fa6d4700c49fa%3A2%3A%7Bi%3A0%3Bs%3A22%3A%22cartUserCookieIdent_v2%22%3Bi%3A1%3Bs%3A36%3A%227b99809e-81a8-4989-9fc2-b0775145bdd6%22%3B%7D; _csrf=251ed98148bb6bf96e1d85dcce13c3da0dc31f85f35ebd606ad294302e1e24aca%3A2%3A%7Bi%3A0%3Bs%3A5%3A%22_csrf%22%3Bi%3A1%3Bs%3A32%3A%22taV-YA4IU7m1s0hAPZ6Gsu43dqPzjpCI%22%3B%7D; phonesIdent=58f1f0980f03116eda28b5856cb643d2bcf1b1b2c2e1b70f7cb038637bc9c60da%3A2%3A%7Bi%3A0%3Bs%3A11%3A%22phonesIdent%22%3Bi%3A1%3Bs%3A36%3A%22a7ad3682-57ea-4cc2-ac82-083a5d42b65d%22%3B%7D; orderCheckoutIdent=b921736aa96c3503304619b49e75ca3685697aa22c1f15d670dcdee56bbcec54a%3A2%3A%7Bi%3A0%3Bs%3A18%3A%22orderCheckoutIdent%22%3Bi%3A1%3Bs%3A36%3A%227b99809e-81a8-4989-9fc2-b0775145bdd6%22%3B%7D;';
//$cookie = 'PHPSESSID=0b64372c14b238265c1e7e0aa232f20a; city_path=astrahan; current_path=66b73d92019263641cf950c8eed05b57d1ea2dde703d1d4a0c9f2e8d9e158e0fa%3A2%3A%7Bi%3A0%3Bs%3A12%3A%22current_path%22%3Bi%3A1%3Bs%3A36%3A%223556b6b7-4a77-11e2-bc07-00155d030b1f%22%3B%7D; cartUserCookieIdent_v2=4299b98b019edb17580ab3f1554a8e85e4f6c63d9368dbe52b3081f40381c77ba%3A2%3A%7Bi%3A0%3Bs%3A22%3A%22cartUserCookieIdent_v2%22%3Bi%3A1%3Bs%3A36%3A%229d79c2d2-c38c-43e8-9f16-3d30008ce6c5%22%3B%7D; _csrf=5fa9d70ba14536d8b203aaf221f168ffd0eaeb7d6da1300ae711108257a26d47a%3A2%3A%7Bi%3A0%3Bs%3A5%3A%22_csrf%22%3Bi%3A1%3Bs%3A32%3A%22WUpQMovnCc36WEr28zZjLYFtNCTakGjL%22%3B%7D; phonesIdent=2c88213f7cabb9122db7de3aad1f2361123ccacaf79fba7f5cdf3101d5506064a%3A2%3A%7Bi%3A0%3Bs%3A11%3A%22phonesIdent%22%3Bi%3A1%3Bs%3A36%3A%222cabf107-e449-471b-847a-54576a479677%22%3B%7D; orderCheckoutIdent=c19978b79ae4055c71b11e469ffc0b2b273b860dc56a7a0faaac0b000a127c7ca%3A2%3A%7Bi%3A0%3Bs%3A18%3A%22orderCheckoutIdent%22%3Bi%3A1%3Bs%3A36%3A%229d79c2d2-c38c-43e8-9f16-3d30008ce6c5%22%3B%7D; catalog-filter-extended-features=4f702a7d3ff3c2643a211375b60218830cc0e259a920de017195097f468ac7e8a%3A2%3A%7Bi%3A0%3Bs%3A32%3A%22catalog-filter-extended-features%22%3Bi%3A1%3Ba%3A1%3A%7Bs%3A36%3A%2217a89a04-1640-11e5-a679-00259074e77d%22%3Ba%3A0%3A%7B%7D%7D%7D; catalog-drawer-view-params=dc9a33992ad9d75ceb7115aee26a57423922a29f500e9d796dad59165b29a183a%3A2%3A%7Bi%3A0%3Bs%3A26%3A%22catalog-drawer-view-params%22%3Bi%3A1%3Ba%3A3%3A%7Bs%3A6%3A%22sortBy%22%3Bs%3A1%3A%221%22%3Bs%3A7%3A%22groupBy%22%3Bs%3A6%3A%22avails%22%3Bs%3A4%3A%22mode%22%3Bs%3A4%3A%22list%22%3B%7D%7D';
//curl_setopt($c, CURLOPT_COOKIE, $cookie);
//curl_setopt($c, CURLOPT_COOKIEJAR, $cookie_jar);
curl_setopt($c, CURLOPT_COOKIEFILE, $cookie_jar);
curl_setopt($c, CURLOPT_VERBOSE,1);
// $curl_fn = "curl.txt";
// $curl_log = fopen($curl_fn, 'w');
// curl_setopt($c, CURLOPT_STDERR, $curl_log);
$page = curl_exec($c);
$curl_info = curl_getinfo($c);
$curl_info2 = curl_getinfo($c, CURLINFO_HEADER_OUT);
$curl_info3 = curl_getinfo($c, CURLINFO_COOKIELIST);
echo $page;
echo Debug::d($curl_info,'CURL_INFOOOO');
//echo Debug::d($curl_info3,'CURL_INFOOOO_____@@@@@3333');
//echo Debug::d($curl_info2,'CURL_INFOOOO_____@@@@@222');
//echo Debug::d($page);
curl_close($c);
curl_setopt($c, CURLOPT_COOKIEFILE, $cookie_jar);
CURLOPT_COOKIEJAR
? Ну и для начала раскомментируйте строку //curl_setopt($c, CURLOPT_COOKIEJAR, $cookie_jar);
в коде. $url = Yii::$app->params['parse2_siteUrl']; // https://yandex.ru
$url = Yii::$app->params['parse2_siteUrl2']; // https://yandex.ru/some/subdirecory
//curl_setopt($c, CURLOPT_COOKIEJAR, $cookie_jar);
$url = Yii::$app->params['parse2_siteUrl2'];
$cookie = 'PHPSESSID=0b64372c14b238265c1e7e0aa232f20a; city_path=astrahan; current_path=66b73d92019263641cf950c8eed05b57d1ea2dde703d1d4a0c9f2e8d9e158e0fa%3A2%3A%7Bi%3A0%3Bs%3A12%3A%22current_path%22%3Bi%3A1%3Bs%3A36%3A%223556b6b7-4a77-11e2-bc07-00155d030b1f%22%3B%7D; cartUserCookieIdent_v2=4299b98b019edb17580ab3f1554a8e85e4f6c63d9368dbe52b3081f40381c77ba%3A2%3A%7Bi%3A0%3Bs%3A22%3A%22cartUserCookieIdent_v2%22%3Bi%3A1%3Bs%3A36%3A%229d79c2d2-c38c-43e8-9f16-3d30008ce6c5%22%3B%7D; _csrf=5fa9d70ba14536d8b203aaf221f168ffd0eaeb7d6da1300ae711108257a26d47a%3A2%3A%7Bi%3A0%3Bs%3A5%3A%22_csrf%22%3Bi%3A1%3Bs%3A32%3A%22WUpQMovnCc36WEr28zZjLYFtNCTakGjL%22%3B%7D; phonesIdent=2c88213f7cabb9122db7de3aad1f2361123ccacaf79fba7f5cdf3101d5506064a%3A2%3A%7Bi%3A0%3Bs%3A11%3A%22phonesIdent%22%3Bi%3A1%3Bs%3A36%3A%222cabf107-e449-471b-847a-54576a479677%22%3B%7D; orderCheckoutIdent=c19978b79ae4055c71b11e469ffc0b2b273b860dc56a7a0faaac0b000a127c7ca%3A2%3A%7Bi%3A0%3Bs%3A18%3A%22orderCheckoutIdent%22%3Bi%3A1%3Bs%3A36%3A%229d79c2d2-c38c-43e8-9f16-3d30008ce6c5%22%3B%7D; catalog-filter-extended-features=4f702a7d3ff3c2643a211375b60218830cc0e259a920de017195097f468ac7e8a%3A2%3A%7Bi%3A0%3Bs%3A32%3A%22catalog-filter-extended-features%22%3Bi%3A1%3Ba%3A1%3A%7Bs%3A36%3A%2217a89a04-1640-11e5-a679-00259074e77d%22%3Ba%3A0%3A%7B%7D%7D%7D; catalog-drawer-view-params=dc9a33992ad9d75ceb7115aee26a57423922a29f500e9d796dad59165b29a183a%3A2%3A%7Bi%3A0%3Bs%3A26%3A%22catalog-drawer-view-params%22%3Bi%3A1%3Ba%3A3%3A%7Bs%3A6%3A%22sortBy%22%3Bs%3A1%3A%221%22%3Bs%3A7%3A%22groupBy%22%3Bs%3A6%3A%22avails%22%3Bs%3A4%3A%22mode%22%3Bs%3A4%3A%22list%22%3B%7D%7D';
//$cookie = 'PHPSESSID=66afed6e3a62161958690f55d3b844d9; cartUserCookieIdent_v2=ae2f950ec74eb7fb138701214e40724f3bc44161724b2fb6f7639e82b498dcbfa%3A2%3A%7Bi%3A0%3Bs%3A22%3A%22cartUserCookieIdent_v2%22%3Bi%3A1%3Bs%3A36%3A%225fa84fb8-771d-48a2-b3b7-b3a0a6e9bb62%22%3B%7D; city_path=astrahan; current_path=66b73d92019263641cf950c8eed05b57d1ea2dde703d1d4a0c9f2e8d9e158e0fa%3A2%3A%7Bi%3A0%3Bs%3A12%3A%22current_path%22%3Bi%3A1%3Bs%3A36%3A%223556b6b7-4a77-11e2-bc07-00155d030b1f%22%3B%7D; orderCheckoutIdent=f6d282c2b4c93aada48c81ebc354a6351c4624f17c1f1583b166c41006d8e79ca%3A2%3A%7Bi%3A0%3Bs%3A18%3A%22orderCheckoutIdent%22%3Bi%3A1%3Bs%3A36%3A%225fa84fb8-771d-48a2-b3b7-b3a0a6e9bb62%22%3B%7D; phonesIdent=39452a82a3d6d922363e6aec35b5d9f12710b1618e487d1017727fcd40962c9fa%3A2%3A%7Bi%3A0%3Bs%3A11%3A%22phonesIdent%22%3Bi%3A1%3Bs%3A36%3A%223e5da18c-c183-495b-b5d7-8f8f849eabf6%22%3B%7D; catalog-filter-extended-features=4f702a7d3ff3c2643a211375b60218830cc0e259a920de017195097f468ac7e8a%3A2%3A%7Bi%3A0%3Bs%3A32%3A%22catalog-filter-extended-features%22%3Bi%3A1%3Ba%3A1%3A%7Bs%3A36%3A%2217a89a04-1640-11e5-a679-00259074e77d%22%3Ba%3A0%3A%7B%7D%7D%7D; catalog-drawer-view-params=dc9a33992ad9d75ceb7115aee26a57423922a29f500e9d796dad59165b29a183a%3A2%3A%7Bi%3A0%3Bs%3A26%3A%22catalog-drawer-view-params%22%3Bi%3A1%3Ba%3A3%3A%7Bs%3A6%3A%22sortBy%22%3Bs%3A1%3A%221%22%3Bs%3A7%3A%22groupBy%22%3Bs%3A6%3A%22avails%22%3Bs%3A4%3A%22mode%22%3Bs%3A4%3A%22list%22%3B%7D%7D';
curl_setopt($c, CURLOPT_COOKIE, $cookie);
//curl_setopt($c, CURLOPT_COOKIEJAR, $cookie_jar);
//curl_setopt($c, CURLOPT_COOKIEFILE, $cookie_jar);
CURLOPT_COOKIEJAR
и CURLOPT_COOKIEFILE
и оставьте их в покое. У вас же есть строка:$curl_info3 = curl_getinfo($c, CURLINFO_COOKIELIST);
print_r($curl_info3);
после curl_close($c);
и увидите куки, которые отправляются. А впрочем, //curl_setopt($c, CURLOPT_COOKIEJAR, $cookie_jar); что с комментом, что без это не работает
$curl_info3 = curl_getinfo($c, CURLINFO_COOKIELIST);
которая загружает передаваемые куки в переменную. Так просто выведите ее на экран print_r($curl_info3); после curl_close($c); и увидите куки, которые отправляются.
curl_setopt($c, CURLOPT_COOKIEJAR, $cookie_jar);
curl_setopt($c, CURLOPT_COOKIEFILE, $cookie_jar);
Cookie: PHPSESSID=0b64372c14b238265c1e7e0aa232f20a
PHPSESSID
если на нее заходить? Так отправляйте CURL-запрос на ту страницу, которая отдает нужные куки, чтобы получить их в файл. ...
$cookie = 'PHPSESSID=5cc2931ecc62ed9fe23320ff78a634b7'; // тут PHPSESSID, полученный из первого шага.
curl_setopt($c, CURLOPT_COOKIE, $cookie);
$url = 'sitename.ru/some/anather/directory';
...
CURLOPT_USERAGENT
. В первую очередь адрес главной страницы в CURLOPT_REFERER
. Ну и остальные можно отправить через CURLOPT_HTTPHEADER
$cookie_jar = Yii::$app->getBasePath() . '/web/_ssuper_cccoookkie.txt';
//echo $cookie_jar;
$c = curl_init();
$url = Yii::$app->params['parse2_siteUrl'];
$url = Yii::$app->params['parse2_siteUrl2'];
curl_setopt($c, CURLOPT_URL, $url);
curl_setopt($c, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.87 Safari/537.36");
curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($c, CURLINFO_HEADER_OUT,1);
curl_setopt($c, CURLOPT_HEADER,1);
$referer = 'https://technopoint.ru';
curl_setopt($c, CURLOPT_REFERER, $referer);
//curl_setopt($c, CURLOPT_NOBODY,1);
//
$cookie = 'PHPSESSID=cb29e0b7be713cef7f3fb98bf1dd1209;';
//curl_setopt($c, CURLOPT_COOKIE, $cookie);
curl_setopt($c, CURLOPT_FOLLOWLOCATION, true );
curl_setopt($c, CURLOPT_AUTOREFERER, true );
curl_setopt($c, CURLOPT_COOKIESESSION, true );
curl_setopt($c, CURLOPT_COOKIEJAR, $cookie_jar);
curl_setopt($c, CURLOPT_COOKIEFILE, $cookie_jar);
$cohh = [];
$cohh[] = 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8';
// последующие 2 строки вызывают появление кракозябр
//$cohh[] = 'Accept-Encoding: gzip, deflate, br';
//$cohh[] = 'Accept-Language: ru,en-US;q=0.9,en;q=0.8';
$cohh[] = 'Cache-Control: max-age=0';
$cohh[] = 'Connection: keep-alive';
$cohh[] = 'Upgrade-Insecure-Requests: 1';
//$cohh[] = 'Cookie: PHPSESSID=eceeb02bb74949d27e02bfb7b932de4e; city_path=astrahan; path=/; domain=.technopoint.ru';
curl_setopt($c, CURLOPT_HTTPHEADER, $cohh);
curl_setopt($c, CURLOPT_VERBOSE,1);
$curl_fn = "curl_errors.txt";
$curl_log = fopen($curl_fn, 'w');
curl_setopt($c, CURLOPT_STDERR, $curl_log);
$page = curl_exec($c);
$curl_info = curl_getinfo($c);
echo $page;
echo Debug::d($curl_info['request_header'],'CURL_INFOOO');
curl_close($c);