Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Cómo Saber La Dirección De Un Proxy

Iniciado por fiero, 02 de Diciembre de 2005, 06:54:00 AM

« anterior - próximo »

fiero

 Tengo un problemilla con mi función de comunicación HTTP por sockets. El problema es que no conecta con el servidor remoto cuando la conexión se realiza a través de un proxy. Después de mucho buscar y leer, más o menos he entendido que lo que tengo que hacer es conectar directamente con la dirección local del proxy e intercambiar los datos HTTP con él (cosa totalmente lógica).

Para conectar con el proxy necesito saber su dirección HTTP y puerto. Por eso todos los programas de acceso a Internet (como IMs) tienen esas casillas de configuración de la conexión: "Detectar proxy automáticamente", "Usar el proxy ....:..", etc.

¿Cómo se detecta la dirección del proxy de la red local automáticamente? ¿Están los valores en alguna parte oculta del registro de Windows?

un saludo
www.videopanoramas.com Videopanoramas 3D player

samsaga2

 Lo que suelen hacer los programas de Windows es obtener los datos del proxy de la configuracion del Internet Explorer (que estan perdidos por algun sitio en el registro). De cualquier forma siempre hay que dejar que se puedan introducir a mano.

fiero

 Voy a trastear por el registro a ver si encuentro algo. De todas formas, también habia pensado en una forma más bruta, probando una lista de direcciones en las que suelen estar los proxies y ver cual responde, pero esto me lleva a otra pregunta: ¿En qué direcciones suelen estar los proxies? Se me ocurren 192.168.0.X y 192.168.1.X ¿Alguna más?

En caso de que todo falle no me quedará otra que preguntarle al usuario...  <_<  
www.videopanoramas.com Videopanoramas 3D player

MA]Mestre

 Buenas,

Ultimamente he estado tocando el tema de sockets (UDP). Antes de empezar, he dado un repaso, a lo comentado en el foro al respecto. Concretamente, he encotrado interasante el tema de la IP cuando estas con un router,  ¿ como obetnerla ?  :blink:

http://www.stratos-ad.com/forums/index.php...=18&t=2397&st=0

Fiero ahora saca un tema parecido. Como obtener la dirección del proxi  :blink:

La configuraciónes de red pueden ser múltiples, en cuanto al número de máquinas que te enrutan en segmentos de red distintos, los proxis, etc... Por lo que no creo que se pueda preguntar de una forma directa desde un programa ¿ Que ip uso para navegar ? o ¿ Que proxi uso ? ( en caso de estar equivocado, corregirme, me quitará muchos dolores ed cabeza  :) )

Dandole un poco de vueltas, creo una forma de obtener la IP ( independientemente de la configuración de red) con la que se sale a INET es, enviar un paquete al exterior y que desde el exterior te devulevan tu dirección IP.

Un ping al exterior nos serviria ? no lo he mirado, pero he de suponer que la ip del paquete que recibo respuesta serà la IP local de máquina, pues el router debe haberla enrutado a IP local. ( corregirme si me equivoco ).

Es aquí cuando he pensado en la páginas de INET que retornan la IP y el proxy que usas ( fiero :D ). ¿ Que os parece la idea de hacer una petición a http://www.whatismyip.com/  ( por ejemplo ), y mapear el HTML para encontrar la IP de red o Proxy ? Se, podrian tener varias opciones ( varios servidores web ), para comprobar la ip-proxy en caso de que alguno de ellos caiga.

Bueno, eso es todo, ya comentareis.

fiero

 Sí, se podría llamar a una página en php que te devuelva tu IP de salida a Internet. Pero si tienes un proxy por el medio no puedes acceder a Internet. Sólo puedes acceder a Internet conectando directamente con el proxy, si intentas conectar a una IP extena, obtienes el error 10061 (Connection refused)  <_<

Sigo buscando...
www.videopanoramas.com Videopanoramas 3D player

MA]Mestre

 ok Fiero, mantennos informados sobre el tema  ;)  

_Grey

 Cuando se requiere la dirección de un proxy no es raro que se pida al usuario, programas como GetRight te dejan introducirlo manualmente y si le das a find simplemente busca la configuración del navegador.

Buscando , buscando... e encontrado que el WinInet tiene un par de funciones para trabajar el proxy, DetectAutoProxyUrl() y InternetGetProxyInfo(), y si quieres pasar de esto en el registro de Win puedes encontrarlo en la key "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings".

Lo que me escama es lo que dices de "proxy de la red local"... eso de "red local" me trae dudas sobre si te funcionara esto...

Espero que haya suerte, saludos.






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.