你好我想问一下是否可以使用PhantomJS在外部域上设置cookie?我尝试下面的代码..
var webPage = require('webpage');
var page = webPage.create();
page.settings.javascriptEnabled = true;
page.settings.userAgent = 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36';
phantom.addCookie({
'name' : 'ps_idssss', /* required property */
'value' : '123123', /* required property */
'domain' : 'casperjs.org',
'path' : '/', /* required property */
'expires' : (new Date()).getTime() + (1000 * 60 * 60) /* <-- expires in 1 hour */
});
page.open('http://casperjs.org', function (status) {
console.log(page.cookies[0].name);
phantom.exit();
});
我用PHP
执行它<?php
$output = shell_exec('phantomjs cookie-js --cookies-file=~/phantomjs/cookies.txt');
echo $output //outputs ps_idssss
?>
IT成功输出了Cookie,但当我访问http://casperjs.org时,它从未保存过任何Cookie。请帮忙
答案 0 :(得分:2)
由于参数的顺序错误,它不起作用。脚本名称应该是最后一个参数。
$output = shell_exec('phantomjs --cookies-file=~/phantomjs/cookies.txt cookie-js');