我抓了一个网页,在网上获取pdf文档。例如,我从中获得了9个PDF文档,除了一个文档外,8个PDF的复制过程运行良好。我不知道什么是错的,连接没问题。当我直接检查网址时,它也可以,我可以手动获取该文档。网址以https开头,这是https问题吗?怎么解决?我使用复制功能:
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
答案 0 :(得分:3)
听起来像你需要调整php.ini文件中的设置,这样你就可以发出https请求了。如果您正在对URL进行硬编码,请将https替换为http。
答案 1 :(得分:2)
您可能需要在php中启用ssl,因为该文件来自https源。
我相信扩展启用是openssl。查找在php.ini中加载php_openssl.dll并取消注释的行。
答案 2 :(得分:0)
尝试一下:
$opts = array(
"ssl"=>array(
"allow_self_signed"=>true,
"verify_peer"=>false,
"verify_peer_name"=>false
)
);
copy($pdfLink, $savePath . basename($pdfLink), stream_context_create($opts));