Справка по использованию JSON и JSONP интерфейсов
Возвращает информацию об IP-адресе в JSON формате
GET https://myipv4.ru/json/
{
"success": true,
"data": {
"ip": "89.109.239.119",
"protocol": "HTTPS",
"hostname": null,
"browser": "Chrome",
"platform": "macOS",
"user_agent": "Mozilla/5.0...",
"timestamp": "2024-01-15 14:30:25",
"server": {
"software": "nginx",
"name": "myipv4.ru"
}
},
"source": "myipv4.ru"
}
fetch('https://myipv4.ru/json/')
.then(r => r.json())
.then(data => {
console.log('Ваш IP:', data.data.ip);
console.log('Протокол:', data.data.protocol);
});
$ip_data = json_decode(file_get_contents('https://myipv4.ru/json/'), true);
echo "IP: " . $ip_data['data']['ip'];
import requests
data = requests.get('https://myipv4.ru/json/').json()
print("IP:", data["data"]["ip"])
Для кросс-доменных запросов из JavaScript (через <script>)
GET https://myipv4.ru/jsonp/?callback=functionName
// 1) Функция-обработчик
function handleIP(data) {
console.log('Ваш IP:', data.data.ip);
}
// 2) Подключаем JSONP
const s = document.createElement('script');
s.src = 'https://myipv4.ru/jsonp/?callback=handleIP';
document.head.appendChild(s);
<div id="myip-widget">Загрузка IP...</div>
<script>
function showMyIP(data) {
document.getElementById('myip-widget').innerHTML =
'Ваш IP: <strong>' + data.data.ip + '</strong>';
}
</script>
<script src="https://myipv4.ru/jsonp/?callback=showMyIP"></script>
| Поле | Тип | Описание |
|---|---|---|
| data.ip | string | IP-адрес пользователя |
| data.protocol | string | HTTP или HTTPS |
| data.hostname | null | Не используется (reverse DNS отключён) |
| data.browser | string | Тип браузера |
| data.platform | string | Операционная система |
| data.user_agent | string | User-Agent браузера |
| data.timestamp | string | Время запроса |
| data.server.software | string | ПО веб-сервера |
| data.server.name | string | Имя сервера |
| success | boolean | Статус выполнения |
fetch('https://myipv4.ru/json/')
.then(r => r.json())
.then(data => {
const ip = data.data.ip;
// Используем IP
});
fetch('https://myipv4.ru/json/')
.then(r => r.json())
.then(ipData => fetch(`https://ipapi.co/${ipData.data.ip}/json/`))
.then(r => r.json())
.then(geo => {
console.log('Город:', geo.city);
console.log('Страна:', geo.country_name);
});