Hola el código en javascript sería:
<script type="text/javascript">
(function(loading, success){
var xhr = XMLHttpRequest !== undefined
? new XMLHttpRequest()
: new ActiveXObject('Microsoft.XMLHTTP');

loading.apply(null, );
xhr.open('get', 'https://api.ipify.org/?format=json', true);
xhr.onreadystatechange = function()
{
if(xhr.readyState === 4)
{
success.call(null, JSON.parse(xhr.responseText));
}
}
xhr.send();
}(function()
{
document.getElementById('my-ip').innerHTML = 'cargando ip...';
}, function(response)
{
document.getElementById('my-ip').innerHTML = response.ip;
}));
</script>
El html para probarlo:
<HTML>
<HEAD>

<script type="text/javascript" src="https://api.ipify.org/?format=jsonp&callback=get_ip"></script>
</HEAD>
<BODY>
mi ip es: <strong id="my-ip"></strong>
<script type="text/javascript">
(function(loading, success){
var xhr = XMLHttpRequest !== undefined
? new XMLHttpRequest()
: new ActiveXObject('Microsoft.XMLHTTP');

loading.apply(null, );
xhr.open('get', 'https://api.ipify.org/?format=json', true);
xhr.onreadystatechange = function()
{
if(xhr.readyState === 4)
{
success.call(null, JSON.parse(xhr.responseText));
}
}
xhr.send();
}(function()
{
document.getElementById('my-ip').innerHTML = 'cargando ip...';
}, function(response)
{
document.getElementById('my-ip').innerHTML = response.ip;
}));
</script>

</BODY>
</HTML>
Lo unico que quedaría es mandarla a vuestro servidor con el método get o post.
Defender a los debiles!
Responder

Volver a “JS”