Пытаюсь разобраться с PHP-PhantomJS (
jonnnnyw.github.io/php-phantomjs )
Для теста создал у себя такую php-страницу:
<?php
session_start();
setcookie('php', '1');
print_r(getallheaders());
?>
<script>
var cookieString = "js=1";
document.cookie = cookieString;
</script>
Браузер получает здесь 3 куки: PHPSESSID, js, php
Захожу на эту страницу Фантомом:
<?php
use JonnyW\PhantomJs\Client;
$client = Client::getInstance();
$client->getEngine()->addOption('--load-images=true');
$client->getEngine()->addOption( '--ignore-ssl-errors=true' );
$client->getEngine()->addOption('--ssl-protocol=any');
$client->getEngine()->addOption('--cookies-file=cookie.txt');
$client->getEngine()->addOption('--local-storage-path=storage');
$client->getEngine()->addOption('--web-security=false');
$response = $client->getMessageFactory()->createResponse();
$client->send( $request, $response );
С $response всё ОК. Файл
cookie.txt создается. Вот что в нем:
[General]
cookies=@Variant(\0\0\0\x7f\0\0\0\x16QList<QNetworkCookie>\0\0\0\0\x1\0\0\0\0)
Насколько я понимаю, куки не пишутся по причине того, что все они Сессионные.
Если добавить expires - то куки сохраняется...