我需要通过网络代理从http
和https
协议下载图片。此代理需要身份验证(需要username
和password
)。我怎样才能做到这一点?目前我使用php的copy
函数下载文件,但我不知道如何为它设置代理。感谢。
答案 0 :(得分:1)
我使用此代码解决了我的问题:
public static function dlFile($url)
{
$crl = curl_init();
curl_setopt($crl, CURLOPT_PROXY, "IP:PORT");
curl_setopt($crl, CURLOPT_PROXYUSERPWD, "USER:PASS");
curl_setopt ($crl, CURLOPT_URL,$url);
curl_setopt ($crl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($crl, CURLOPT_CONNECTTIMEOUT, 300);
curl_setopt($crl, CURLOPT_HTTPPROXYTUNNEL, true); //IMPORTANT
$ret = curl_exec($crl);
curl_close($crl);
return $ret;
}