从https网址复制文件

时间:2012-09-27 00:44:43

标签: php

我抓了一个网页,在网上获取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

3 个答案:

答案 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));