2017-02-08 7 views
0

Ich habe ein Skript in PHP, wie Bilder von einer Partner-Website herunterladen.cURL Get Bild von Link

Das Skript sieht aus wie

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); 
 
\t curl_setopt($process, CURLOPT_USERPWD, "username:password"); 
 
\t 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; 
 
}

Das Problem ist, weil Partner ein Passwort auf seine Website gestellt wurde. die Website-URL ist www.importatorarticolecopii.ro/feeds/general_feed2.php

ich den Benutzer und das Passwort in curl setzen, aber nicht ...

etwas Hilfe benötigen

+0

Das ist nicht das eigentliche Passwort war einfach gepostet hier war es? Wahrscheinlich keine gute Idee! Oh ja, es war total. Sie müssen das jetzt ändern! –

+0

Ist kein Problem die Seite ist nicht geheim :-) ist nur eine Sicherheitsmethode von meinem Partner –

+0

Verwenden Sie diese URL oder eine URL, die auf ein Bild zeigt? Es funktioniert möglicherweise nicht, da Sie nur Bildtypen akzeptieren, diese URL jedoch kein Bild ist. –

Antwort

0

Der Code ist in Ordnung, die Problem ist von Ihrer gegebenen URL Erhöhen Sie Ihr Timeout, da die oben angegebene URL zu langsam ist und versuchen Sie nicht, die maximale Ausführungszeit Ihres Servers zu überschreiten.

curl_setopt($process, CURLOPT_TIMEOUT, 60); 

und einen User-Agenten verwenden, zB:

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

und in Zukunft versuchen, Fehler abfangen zu überprüfen, was Ihr Problem ist

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