PHP PhantomJS忽略SSL证书

max*_*chs 3 php ssl phantomjs

我想解析一个HTTPS网页,但是当我这样做时它是空白的.所以我认为它与SSL证书有关.我怎么能忽略这个?

我正在使用php-phantomjs.

Art*_* B. 7

PhantomJS无法打开HTTPS站点的问题所示,您可能需要添加以下命令行选项来修复SSL/TLS问题:

phantomjs --ssl-protocol=any --ignore-ssl-errors=true --web-security=false script.js
Run Code Online (Sandbox Code Playgroud)

php-phantomjs中的用法略有不同,但你可以使用:

$client = Client::getInstance();
$client->getEngine()->addOption('--ssl-protocol=any');
$client->getEngine()->addOption('--ignore-ssl-errors=true');
$client->getEngine()->addOption('--web-security=false');
Run Code Online (Sandbox Code Playgroud)

或者像这样加载一个config.json文件:

$client->getEngine()->addOption('--config=/path/to/config.json');
Run Code Online (Sandbox Code Playgroud)

config.json:

{
    "sslProtocol": "any",
    "ignoreSslErrors": true,
    "webSecurityEnabled": false
}
Run Code Online (Sandbox Code Playgroud)

在较旧版本的php-phantomjs中,有必要使用$client->addOption(...)而不是$client->getEngine()->addOption(...).

  • 不要立即使用所有3个选项.尝试仅使用其中的一部分,如果仍然无效,请使用更多/其他. (2认同)