IP

28/11/2003 - 09:27 por AD | Informe spam
Hola,
cómo puedo recoger usando JavaScript o ASP la IP de una
máquina local?
Con Request.ServerVariables("remote_addr")no obtenemos la
IP que queremos.
Gracias de antemano por vuestra ayuda.

Preguntas similare

Leer las respuestas

#1 Daniel Álvarez
28/11/2003 - 09:34 | Informe spam
Prueba esto a ver que tal:

Dim temp, ip
temp = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
If temp<>"" Then
ip = temp
Else
ip = Request.ServerVariables("REMOTE_ADDR")
End If

Response.Write ip

Daniel Álvarez




"AD" escribió en el mensaje
news:074201c3b589$7370dfb0$
Hola,
cómo puedo recoger usando JavaScript o ASP la IP de una
máquina local?
Con Request.ServerVariables("remote_addr")no obtenemos la
IP que queremos.
Gracias de antemano por vuestra ayuda.
Respuesta Responder a este mensaje
#2 AD
28/11/2003 - 10:07 | Informe spam
El problema que con ese código sigo obteniendo lo mismo
que con Request.ServerVariables("remote_addr"), obtengo
127.0.0.1, que no es realmente mi IP. Buscando por
internet he encontrado que la solución es usar este
código, te lo pongo por si así entiendes mejor lo que
busco, lo que pasa es que está en C++ y no sé traducirlo a
ASP, cómo podría conseguir algo de ese estilo en ASP?:

#include <winsock2.h>

// ...

void __fastcall TForm1::Button1Click(TObject *Sender)
{
WORD wVersionRequested;
WSADATA wsaData;
char name[255];
AnsiString ip;
PHOSTENT hostinfo;
wVersionRequested = MAKEWORD( 2, 0 );

if ( WSAStartup( wVersionRequested, &wsaData ) ==
0 )
{

if( gethostname ( name, sizeof(name)) == 0)
{
Label1->Caption = name;
if((hostinfo = gethostbyname(name)) !=
NULL)
{
ip = inet_ntoa (*(in_addr *)
*hostinfo->h_addr_list);
Label2->Caption = ip;
}
}
WSACleanup( );
}
}
Respuesta Responder a este mensaje
#3 Bosio
28/11/2003 - 10:10 | Informe spam
Buenas,

On Fri, 28 Nov 2003 00:27:24 -0800, "AD"
wrote:
cómo puedo recoger usando JavaScript o ASP la IP de una
máquina local?



Has dicho local? Pues la variable sera LOCAL_addr, no? Si quieres la
remota (la del visitante) puedes probar HTTP_CLIENT_IP y
HTTP_X_FORWARDED_FOR
Respuesta Responder a este mensaje
#4 Bosio
28/11/2003 - 10:15 | Informe spam
Buenas otra vez,

On Fri, 28 Nov 2003 01:07:12 -0800, "AD"
wrote:
El problema que con ese código sigo obteniendo lo mismo
que con Request.ServerVariables("remote_addr"), obtengo
127.0.0.1, que no es realmente mi IP.



Si el cliente y el servidor estan en el mismo equipo, estaras
entrando a la web "desde dentro" y te dara una IP local. Prueba a
entrar a traves de un proxy web (anonymizer.com) y mira a ver que IP
te dara (sera la de anonymizer, no la tuya)

Prueba a que otra persona entre desde fuera y veras que te da su IP o
la del proxy a traves del que navegue, segun la variable que uses.

Buscando por
internet he encontrado que la solución es usar este
código, te lo pongo por si así entiendes mejor lo que
busco, lo que pasa es que está en C++ y no sé traducirlo a
ASP, cómo podría conseguir algo de ese estilo en ASP?:

#include <winsock2.h>

// ...

void __fastcall TForm1::Button1Click(TObject *Sender)
{
WORD wVersionRequested;
WSADATA wsaData;
char name[255];
AnsiString ip;
PHOSTENT hostinfo;
wVersionRequested = MAKEWORD( 2, 0 );

if ( WSAStartup( wVersionRequested, &wsaData ) ==
0 )
{

if( gethostname ( name, sizeof(name)) == 0)
{
Label1->Caption = name;
if((hostinfo = gethostbyname(name)) !=
NULL)
{
ip = inet_ntoa (*(in_addr *)
*hostinfo->h_addr_list);
Label2->Caption = ip;
}
}
WSACleanup( );
}
}

Respuesta Responder a este mensaje
#5 Hernan Nieto
28/11/2003 - 16:18 | Informe spam
AD:

127.0.0.1 es la ip loopback, o sea tu ip cuando no tenes ip, por eso proba
como dice Bosio.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida