我正在尝试使用带有url的phantomJs加载网页,但是响应的状态代码是500。我检查了发送的数据包,除了少数返回“ NULL”的消息包和其他所有数据包,它们都收到了OK(200)状态该网页总共有500个状态。
代码中的第一个参数是我输入的URL。 scriptFn是我打算在PhantomJs返回的响应上运行的脚本。
page.open(system.args[1], function (status) {
if (status == "success") {
if (scriptFn && scriptFn.indexOf("//DO NOT INCLUDE JQUERY") == -1) {
page.injectJs("jquery.min.js");
}
setTimeout(function(){
var res = page.evaluate(function (resources, scriptFn, getURLParamValue) {
var statusCode;
var regex = /^[23]/;
if (regex.test(resources[0].status)) {
statusCode = 200;
} else {
statusCode = resources[0].status;
}
if (scriptFn) {
eval(scriptFn);
}
return '@@response_start@@\n' + statusCode + '\n' + document.location.href + '\n' + document.documentElement.outerHTML;
}, resources, scriptFn, utils.getURLParamValue);
console.log(res);
phantom.exit();
}, 5000);
} else {
var res = page.evaluate(function(status) {
return '@@response_start@@\n500\n' + document.location.href + '\n' + document.documentElement.outerHTML;
});
console.log(res);
phantom.exit();
}
});