Php 从https url复制文件
我爬过一个网页,在网上获取pdf文档。例如,我从中获得了9个PDF文档,8个PDF的复制过程运行良好,只有一个文档除外。我不知道怎么了,我的连接没有问题。当我直接签出url时,也没关系,我可以手动获取该文档。url以https开头,这是https问题吗?如何解决?我使用复制功能:Php 从https url复制文件,php,Php,我爬过一个网页,在网上获取pdf文档。例如,我从中获得了9个PDF文档,8个PDF的复制过程运行良好,只有一个文档除外。我不知道怎么了,我的连接没有问题。当我直接签出url时,也没关系,我可以手动获取该文档。url以https开头,这是https问题吗?如何解决?我使用复制功能: copy($pdfLink, $savePath . basename($pdfLink)); 错误结果是: Warning: copy(https://www.aclweb.org/anthology/J/J08/
copy($pdfLink, $savePath . basename($pdfLink));
错误结果是:
Warning: copy(https://www.aclweb.org/anthology/J/J08/J08-1004.pdf) [function.copy]: failed to open stream: Invalid argument in D:\AppServ\www\suksesfunctionWrapper.php on line 19
在我看来,您需要在php.ini文件中调整一个设置,以便可以发出https请求。如果您正在硬编码URL,只需将https替换为http。听起来您需要调整php.ini文件中的设置,以便发出https请求。如果您正在硬编码URL,只需将https替换为http。您可能需要在php中启用ssl,因为文件来自https源
我相信支持扩展的是openssl。在php.ini中查找加载php_openssl.dll的行并取消注释。您可能需要在php中启用ssl,因为该文件来自https源 我相信支持扩展的是openssl。在php.ini中查找加载php_openssl.dll的行并取消注释。尝试以下操作:
$opts = array(
"ssl"=>array(
"allow_self_signed"=>true,
"verify_peer"=>false,
"verify_peer_name"=>false
)
);
copy($pdfLink, $savePath . basename($pdfLink), stream_context_create($opts));
试试这个:
$opts = array(
"ssl"=>array(
"allow_self_signed"=>true,
"verify_peer"=>false,
"verify_peer_name"=>false
)
);
copy($pdfLink, $savePath . basename($pdfLink), stream_context_create($opts));