cURL从链接获取图像

时间:2017-02-08 19:04:32

标签: php curl

我在php中有一个脚本如何从合作伙伴网站下载图像。

脚本看起来像

function getimg($url) {
    $headers[] = 'Accept: image/gif, image/x-bitmap, image/jpeg, image/pjpeg';
    $headers[] = 'Connection: Keep-Alive';
    $headers[] = 'Content-type: application/x-www-form-urlencoded;charset=UTF-8';
    $user_agent = 'php';
    $process = curl_init($url);
	curl_setopt($process, CURLOPT_USERPWD, "username:password");
	curl_setopt($process, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
    curl_setopt($process, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($process, CURLOPT_HEADER, 0);
    curl_setopt($process, CURLOPT_USERAGENT, $user_agent);
    curl_setopt($process, CURLOPT_TIMEOUT, 30);
    curl_setopt($process, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($process, CURLOPT_FOLLOWLOCATION, 1);
    $return = curl_exec($process);
    curl_close($process);
    return $return;
}

问题是因为合作伙伴在他的网站上设置了密码。网址网址为www.importatorarticolecopii.ro/feeds/general_feed2.php

我将用户和密码放在卷曲中但不起作用......

需要一些帮助

1 个答案:

答案 0 :(得分:0)

您的代码很好,问题来自您给定的网址 增加超时时间,因为上面给出的网址太慢,并且尝试不超过服务器的最长执行时间。

curl_setopt($process, CURLOPT_TIMEOUT, 60);

并使用用户代理,例如:

$user_agent = 'Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7.12) Gecko/2php0050915 Firefox/1.0.7)';

并且将来会尝试抓住您的错误来检查您的问题

if(curl_error($process))
{
echo 'error:' . curl_error($process);
}