curl, fsockopen,... passer un proxy (avec user et pass)

curl, fsockopen,... passer un proxy (avec user et pass) - PHP - Programmation

Marsh Posté le 18-01-2005 à 12:08:46    

Bonjour,
 
Je précise que j'ai fait une recherche approfondie sur le net avant de poster ici...
 
Soit un proxy défini par
IP
PORT
USER
PASS
 
Je dois aller chercher des infos sur le net pour le compte d'un Intranet (un flux RSS)
 
j'ai ce code ci :
 

Code :
  1. function proxy_url($proxy_url){
  2. $proxy_name = C_name_proxy;
  3. $proxy_port = C_port_proxy;
  4. $proxy_cont = '';
  5. $proxy_fp = fsockopen($proxy_name, $proxy_port);
  6. if (!$proxy_fp) {return false;}
  7. fputs($proxy_fp, "GET $proxy_url HTTP/1.0\r\nHost: $proxy_name\r\n\r\n" );
  8. while(!feof($proxy_fp)) {$proxy_cont .= fread($proxy_fp,4096);}
  9. fclose($proxy_fp);
  10. $proxy_cont = substr($proxy_cont, strpos($proxy_cont,"\r\n\r\n" )+4);
  11. return $proxy_cont;
  12. }


 
Il fonctionne super bien sauf que aucun utiliseur et pass n'est défini donc pour le proxy défini plus haut ca plante...avec un "Proxy Authentication Required"
 
alors je me suis redirigé vers cUrl et pondu ce code :  
 

Code :
  1. $ch = curl_init ();
  2. curl_setopt ($ch , CURLOPT_URL, "http://www.nexen.net/" );
  3. curl_setopt ($ch, CURLOPT_HEADER, true);
  4. curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, false);
  5. curl_setopt($ch, CURLOPT_PROXY, "xxx.xxx.xxx.xxx" );
  6. curl_setopt($ch, CURLOPT_PROXYPORT, "xx" );
  7. curl_setopt($ch, CURLOPT_PROXYUSERPWD, "[user]:[pass]" );
  8. curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
  9. curl_setopt($ch, CURLOPT_TIMEOUT, 100);
  10. $server_response = curl_exec($ch);
  11. echo "<br> error:";
  12. echo curl_error($ch);
  13. echo "<br> errno:";
  14. echo curl_errno($ch);
  15. $retour = curl_getinfo($ch);
  16. print_r($retour);
  17. curl_close ($ch);
  18. print $server_response;


 
et la pareil une belle erreur 407
 
bref je tourne en rond...
 
La question est simple :comment récupérer une page web depuis un serveur placé derriere un proxy avec authentification (que je passe lorsque j'ouvre firefox).
 
Merci par avance.

Reply

Marsh Posté le 18-01-2005 à 12:08:46   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed