Autor
|
Tema: Obtener Wan IP en vb6 (Leído 9,709 veces)
|
rapbyone
Desconectado
Mensajes: 173
|
Alguien tiene algún código para obtener la WAN IP del router a través de vb6. la IP local la saco con el componente Winsock, pero la WAN IP no se como alguna ayuda. gracias amigos
|
|
« Última modificación: 3 Julio 2014, 03:50 am por rapbyone »
|
En línea
|
|
|
|
engel lex
|
entre las pocas formas (por no decir unica) de obtener el ip de wan es preguntandoselo a un servidor externo la otra es que tu programa se meta en el panel de administrador del router y saque los valores
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
Gh057
Desconectado
Mensajes: 1.190
|
hola rapbyone, podrías hacerlo mediante consulta al servidor dns, que al cruzarlo con los registros de recursos AAAA, resuelve el nombre a su dirección ipv6; brindándote así el valor requerido. saludos
|
|
|
En línea
|
4 d0nd3 1r4 3l gh057? l4 r3d 3s 74n v4s74 3 1nf1n1t4...
|
|
|
rapbyone
Desconectado
Mensajes: 173
|
entre las pocas formas (por no decir unica) de obtener el ip de wan es preguntandoselo a un servidor externo la otra es que tu programa se meta en el panel de administrador del router y saque los valores Encontré este código que hace la consulta a un servidor externo, pero no me muestra la IP Private Sub Command5_Click() Dim cTemp As String Dim arTemp() As String
Call URLDownloadToFile(0, "http://www.myipaddress.com/show-my-ip-address/", App.Path & "\ipaddress.htm", 0, 0) If Dir(App.Path & "\ipaddress.htm") <> "" Then cTemp = CreateObject("Scripting.FileSystemObject").OpenTextFile(App.Path & "\ipaddress.htm").ReadAll If InStr(cTemp, "<h1>") > 0 Then arTemp = Split(Replace(cTemp, "</h1>", "<h1>"), "<h1>") MsgBox arTemp(1) Else MsgBox "Unknown IP Address" End If Kill App.Path & "\ipaddress.htm" Else MsgBox "Unknown IP Address" End If End Sub hola rapbyone, podrías hacerlo mediante consulta al servidor dns, que al cruzarlo con los registros de recursos AAAA, resuelve el nombre a su dirección ipv6; brindándote así el valor requerido. saludos
No tengo los conocimiento para lograrlo, suena genial, pero difícilmente lo logre hacer
|
|
|
En línea
|
|
|
|
engel lex
|
Encontré este código que hace la consulta a un servidor externo, pero no me muestra la IP....
probaste meterte a la pagina a la que consultas?
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
Gh057
Desconectado
Mensajes: 1.190
|
jejeje habia entendido para el diablo, entendi ipv6... y era visual XD
(la idea que te comentaba era simplemente consultar por el dominio y obtener la ip publica en hexa.)
con respecto al codigo en si para visual hay muchos... hay hasta un grupo de google... recursos vb, en fin otro para showmy... solo hay que buscar. la rueda esta hecha. lo insertas en un formulario y listo. saludos
|
|
« Última modificación: 3 Julio 2014, 05:06 am por Gh057 »
|
En línea
|
4 d0nd3 1r4 3l gh057? l4 r3d 3s 74n v4s74 3 1nf1n1t4...
|
|
|
rapbyone
Desconectado
Mensajes: 173
|
probaste meterte a la pagina a la que consultas?
Gracias por responder amigo, efectivamente el problema era la pagina, la cambie quedando así el codigo: Dim cTemp As String Dim arTemp() As String
Call URLDownloadToFile(0, "http://www.mediacollege.com/internet/utilities/show-ip.shtml", App.Path & "\ipaddress.htm", 0, 0) If Dir(App.Path & "\ipaddress.htm") <> "" Then cTemp = CreateObject("Scripting.FileSystemObject").OpenTextFile(App.Path & "\ipaddress.htm").ReadAll If InStr(cTemp, "<h1>") > 0 Then arTemp = Split(Replace(cTemp, "</h1>", "<h1>"), "<h1>") MsgBox arTemp(1) Else MsgBox "Unknown IP Address" End If Kill App.Path & "\ipaddress.htm" Else MsgBox "Unknown IP Address" End If El problema es que el msgbox me muestra el texto "Your IP Address is" y es al lado donde sale la WAN IP se que modificando los valores de If InStr(cTemp, "<h1>") > 0 Then arTemp = Split(Replace(cTemp, "</h1>", "<h1>"), "<h1>") MsgBox arTemp(1) podría seleccionar que mostrar en el msgbox, pero no tengo claridad del como me dan una mano amigos por favor saludos
|
|
|
En línea
|
|
|
|
engel lex
|
revisa el código fuente de la pagina y ve que factores tienes que buscar para aislar el valor que quieres, más bien me parece demasiada casualidad que el valor que te devuelve sea casi el correcto XD
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
rapbyone
Desconectado
Mensajes: 173
|
revisa el código fuente de la pagina y ve que factores tienes que buscar para aislar el valor que quieres, más bien me parece demasiada casualidad que el valor que te devuelve sea casi el correcto XD
ya casi, revisando el código de fuente de la pagina, me logre hacer que tome la IP, pero me falta sacar el texto inicial, así me sale: este es el código de fuente: <div id="content">
<h1>Your IP Address</h1> <p>Your IP Address is: <b><font size="+1">
200.104.135.65
</font></b></p> <p>If you have a static IP (Internet Protocol) address, this number will stay the same each time you visit. If you have a dynamic IP, the number will change each time you log on to the internet (or your ISP assigns a new IP).</p> <!-- Footer --> </div> y así tengo el código en vb6 If Dir(App.Path & "\ipaddress.htm") <> "" Then cTemp = CreateObject("Scripting.FileSystemObject").OpenTextFile(App.Path & "\ipaddress.htm").ReadAll If InStr(cTemp, "<b>") > 0 Then arTemp = Split(Replace(cTemp, "</font>", "<p>"), "<p>") MsgBox arTemp(1) ya casi
|
|
|
En línea
|
|
|
|
engel lex
|
usa MID o RIGHT para sacar el resto aqui una referencia de msdn a las funciones de manejos de cadena de VB
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
|
|