简介:本文汇总了多种免费IP类API接口,涵盖IP查询、地理位置定位、代理池管理及网络安全检测,助力开发者高效实现功能开发。
在数字化时代,IP地址不仅是设备联网的标识,更是开发者实现功能扩展、数据采集、安全防护的核心工具。无论是需要验证用户地理位置、构建代理池,还是检测网络攻击,IP类API接口都能大幅降低开发成本。然而,市场上免费API质量参差不齐,开发者常面临调用限制、数据延迟或安全性问题。本文将系统梳理多种好用且免费的IP类API接口,涵盖IP查询、地理位置定位、代理池管理及网络安全检测四大场景,助力开发者高效实现功能开发。
IPinfo.io提供免费的IP查询服务,支持通过HTTP GET请求获取IP的详细信息,包括国家、地区、城市、经纬度、时区及ASN(自治系统号)。其免费版每月限制1000次调用,适合个人开发者或小型项目。
import requestsdef get_ip_info(ip):url = f"https://ipinfo.io/{ip}/json"response = requests.get(url)if response.status_code == 200:data = response.json()print(f"IP: {ip}")print(f"国家: {data.get('country')}")print(f"城市: {data.get('city')}")print(f"经纬度: {data.get('loc')}")else:print("请求失败")get_ip_info("8.8.8.8") # 示例:查询Google DNS的IP信息
IP-API.com的免费接口无需API密钥,直接通过URL传递IP即可返回JSON格式数据,包含国家、地区、城市、邮编等信息。免费版每分钟限制45次调用,适合低频次需求。
fetch('https://ip-api.com/json/8.8.8.8').then(response => response.json()).then(data => {console.log(`国家: ${data.country}`);console.log(`城市: ${data.city}`);});
GeoIPify提供基于IP的地理位置服务,免费版每月5000次调用,支持返回国家、省份、城市、邮编及经纬度。其数据来源于MaxMind,准确性较高。
<?php$ip = "8.8.8.8";$url = "https://geoipify.whoisxmlapi.com/api/v1?apiKey=YOUR_FREE_KEY&ipAddress=" . $ip;$response = file_get_contents($url);$data = json_decode($response, true);echo "国家: " . $data['countryName'] . "\n";echo "城市: " . $data['city'] . "\n";?>
IP2Location提供免费的在线API和离线数据库(BIN文件),开发者可根据需求选择。在线API免费版每日限制1000次,支持返回地理位置、ISP信息及域名。
FreeProxyList提供免费的HTTP/HTTPS代理列表,每30分钟更新一次。开发者可通过API获取代理IP及端口,用于爬虫或数据采集。
import requestsfrom bs4 import BeautifulSoupdef get_free_proxies():url = "https://free-proxy-list.net/"response = requests.get(url)soup = BeautifulSoup(response.text, 'html.parser')proxies = []for row in soup.find('table').find_all('tr')[1:]: # 跳过表头cols = row.find_all('td')ip = cols[0].textport = cols[1].textproxies.append(f"{ip}:{port}")return proxiesprint(get_free_proxies()[:5]) # 打印前5个代理
ProxyScrape的免费API支持HTTP、HTTPS和SOCKS5代理,每日限制5000次调用。其代理经过初步验证,可用性较高。
curl "https://api.proxyscrape.com/?request=getproxies&proxytype=http&timeout=10000&country=all&ssl=all&anonymity=all"
AbuseIPDB提供免费的IP信誉查询服务,可检测IP是否被标记为恶意(如DDoS攻击、垃圾邮件)。免费版每日限制1000次查询,需注册获取API密钥。
import requestsdef check_ip_reputation(ip, api_key):url = f"https://api.abuseipdb.com/api/v2/check?ipAddress={ip}&maxAgeInDays=90"headers = {"Key": api_key, "Accept": "application/json"}response = requests.get(url, headers=headers)data = response.json()if data['data']['isPublic']:print(f"IP {ip} 被标记为恶意: {data['data']['abuseConfidenceScore']}分")else:print("IP未发现恶意记录")check_ip_reputation("1.2.3.4", "YOUR_API_KEY")
IPQualityScore的免费API支持检测代理、VPN、爬虫及TOR节点,免费版每月限制5000次调用。其算法结合行为分析,准确性较高。
const axios = require('axios');async function check_ip(ip, api_key) {const url = `https://ipqualityscore.com/api/json/ip/${api_key}/${ip}?mobile=true&strictness=0`;const response = await axios.get(url);console.log(`是否为代理: ${response.data.proxy}`);console.log(`是否为VPN: ${response.data.vpn}`);}check_ip("8.8.8.8", "YOUR_API_KEY");
通过合理组合上述API,开发者可在不增加成本的前提下,构建功能完善、安全可靠的IP相关服务。