我在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
我将用户和密码放在卷曲中但不起作用......
需要一些帮助
答案 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);
}