Foros del Web » Programando para Internet » PHP »

proxy

Estas en el tema de proxy en el foro de PHP en Foros del Web. Hola !! tngo una consulta: Con el siguiente codigo se puede ejecutar una url y obtener el contenido como si fuera el navegador: Código PHP: ...
  #1 (permalink)  
Antiguo 11/08/2006, 22:08
Avatar de geq
geq
 
Fecha de Ingreso: agosto-2006
Ubicación: Rosario
Mensajes: 655
Antigüedad: 17 años, 8 meses
Puntos: 22
Pregunta proxy

Hola !! tngo una consulta:

Con el siguiente codigo se puede ejecutar una url y obtener el contenido como si fuera el navegador:

Código PHP:
$f fopen("cualquier_url","r"); 
(la respuesta del servidor despues se lee como cualquier otro archivo abierto con fopen() )

mi pregunta es: Se puede utilizar un proxy para establecer esta conexion con el otro servidor??

muchas gracias

saludos ^_^
  #2 (permalink)  
Antiguo 12/08/2006, 13:30
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Para conexiones que pasen por un proxy necesitas más "código" ...

Puedes usar:
http://www.phpclasses.org/browse/package/3.html

Implementa el protocolo HTTP para realizar todo tipo de conexiones .. tanto que pasen por Proxys, como SSL, etc. Bastante completa. (para algunas funcionalidades usa cURL (www.php.net/curl)

De la documentaciòn oficial de PHP sobre fopen() veras en los comentarios de los usuarios funciones tipo:

Cita:
rafaelbc at matrix dot com dot br
23-May-2005 12:23
pflaume dot NOSPAM at NOSPAM dot gmx dot de's proxy_url() was very helpful to me!
Although, I still had a problem: proxy authentication.

So I added some code to enable http get through a proxy with user authentication.

Código PHP:
<?php
function proxy_url($proxy_url)
{
   
$proxy_name '127.0.0.1';
   
$proxy_port 4001;
   
$proxy_user "user";    // added
   
$proxy_pass "password";    // added
   
$proxy_cont '';

   
$proxy_fp fsockopen($proxy_name$proxy_port);
   if (!
$proxy_fp)    {return false;}
   
fputs($proxy_fp"GET $proxy_url HTTP/1.0\r\nHost: $proxy_name\r\n");
   
fputs($proxy_fp"Proxy-Authorization: Basic " base64_encode ("$proxy_user:$proxy_pass") . "\r\n\r\n");    // added
   
while(!feof($proxy_fp)) {$proxy_cont .= fread($proxy_fp,4096);}
   
fclose($proxy_fp);
   
$proxy_cont substr($proxy_contstrpos($proxy_cont,"\r\n\r\n")+4);
   return 
$proxy_cont;
}
?>
que una vez màs implementan el protocolo HTTP para tal fin ...



Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:50.