PHP 5.6卷曲异常行为

时间:2017-08-10 13:46:41

标签: php curl web-scraping

在项目的中间,我试图用php下载一些图像。

我使用简单的html dom。

这里的例子是:

function scaper_allegati_fo($url,$id_imm)
{   
    $html_fo_p=file_get_html($url);
    $pagine = $html_fo_p->find('span[class=sTotAlleg]',0)->plaintext;
    $goodUrl = str_replace('&pos=1', '', $url);
    for($i = 1; $i < $pagine; $i++) 
    {
        $newurl = $goodUrl."&pos=".$i;
        $html_fo=file_get_html($newurl);
        $img_link = $html_fo->find('img[class=imgBckWait]',0)->src;
        $download = file_get_contents("$img_link");
        $estensione = ".jpg";
        $nome_tmp = $id_imm."_FO_";
        $random = random_str(10);
        $nome = $nome_tmp.$random;
        file_put_contents('/var/www/html/allegati/'.$nome.$estensione, $download);
    }

问题在于:

我试图下载的链接是这样的:

https://www.astegiudiziarie.it/CA/browsefile.aspx?idl=74CRZD366266224&nf=Foto-AO-F-2-2016-2.jpg&nfcod=6d2ecb3f5615ee1024672dc8b6a80e52&s=FO

下载的文件只有26byte,包含一个错误来自网站的字符串,相当于&#34;解码错误&#34;。 当网址从他的论点中删除时会发生这种情况。

我尝试使用curl,已经创建的curl类(https://github.com/php-curl-class/php-curl-class)和函数副本。

每次都像我得到链接&#34; cut&#34;与之相关的论点。 示例:而不是https://www.astegiudiziarie.it/CA/browsefile.aspx?idl=74CRZD366266224&nf=Foto-AO-F-2-2016-2.jpg&nfcod=6d2ecb3f5615ee1024672dc8b6a80e52&s=FO

你继续

https://www.astegiudiziarie.it/CA/browsefile.aspx?idl=74CRZD366266224&nf=Foto-AO-F-2-2016-2.jpg

如果我尝试手动使用file_get_contents,只需使用链接就可以了!

我试着回应我正在抓的链接,他们非常顺利。 我尝试回复链接,图片显示出来。

但是每当我尝试使用我的代码下载时,我都会得到一个空文件。

是因为某个地方$ img_link从他的论点中得到了清理吗?

任何人都知道我可以尝试一下这个吗?

0 个答案:

没有答案