IP提取API是什么?
简单来说,IP提取API就是一个“取货”的地址和规则。你向天启代理的服务器发送一个特定格式的请求,服务器就会按照你要求的数量、类型和地区,返回一批可以直接使用的代理IP给你。这就像你有一个智能仓库,只要打个电话(发送API请求),仓库就会按照你的清单把货品(代理IP)打包送过来,省去了你手动去网页上一个个复制粘贴的麻烦,极大地提高了自动化效率。
对于需要批量、自动化使用代理IP的业务,比如数据采集、价格监控、广告验证等,通过API调用获取IP是唯一高效且可持续的方式。天启代理的API设计以快捷稳定为核心,接口请求时间通常小于1秒,让你能快速拿到IP投入业务中。
天启代理API接口文档核心解读
天启代理的API接口设计得非常清晰,主要参数不多,但非常实用。理解以下几个核心参数,你就能轻松调用。
1. 基础请求地址: 这是API的入口,通常格式如 http://api.tianqiip.com/getip(具体地址请以天启代理官方提供为准)。所有请求都发往这个地址。
2. 关键参数详解:
- key:你的账户密钥(API Key),这是你的身份凭证,相当于取货的“钥匙”,必须携带。
- num:需要提取的IP数量。比如
num=5表示获取5个代理IP。 - type:IP的协议类型,通常支持
json或text格式返回。设置为json会返回结构化的数据,便于程序解析。 - pack:套餐ID,对应你购买的不同套餐(如短效动态、长效静态)。告诉API从哪个“仓库”取货。
- port:代理端口,通常为11位数字,与IP地址配套使用。
- city:城市代码,用于指定IP的地理位置。例如,
city=110100表示获取北京的IP。天启代理支持全国200+城市节点,选择非常丰富。 - time:IP的有效时长(针对动态IP),单位是秒。例如,
time=1800表示获取有效期为30分钟的IP。 - protocol:代理协议,支持
http,https,socks5。天启代理三大协议都支持,你可以根据业务需求灵活选择。
3. 返回结果: 当请求成功,API会返回类似下面的JSON数据。其中 data 字段里的列表就是可用的代理IP和端口信息,msg 为状态信息。
{
"code": 0,
"msg": "获取成功",
"data": [
{"ip": "1.2.3.4", "port": 12345, "expire_time": "2023-10-01 12:00:00"},
{"ip": "5.6.7.8", "port": 67890, "expire_time": "2023-10-01 12:30:00"}
]
}
多语言代码调用示例
下面我们分别用几种常见的编程语言,演示如何调用天启代理的IP提取API。假设我们要获取2个来自上海、协议为HTTP、有效期为10分钟的代理IP。
Python 示例
Python的requests库是进行HTTP请求的利器,代码简洁明了。
import requests
你的API密钥和参数
api_url = "http://api.tianqiip.com/getip"
params = {
'key': '你的API密钥',
'num': 2,
'type': 'json',
'pack': '你的套餐ID',
'city': '310000', 上海城市代码
'time': 600, 600秒 = 10分钟
'protocol': 'http'
}
try:
response = requests.get(api_url, params=params, timeout=10)
result = response.json()
if result['code'] == 0:
print("成功获取代理IP列表:")
for proxy in result['data']:
print(f"IP: {proxy['ip']}:{proxy['port']}, 过期时间: {proxy['expire_time']}")
else:
print(f"获取失败: {result['msg']}")
except Exception as e:
print(f"请求发生异常: {e}")
Java 示例
使用Java的HttpURLConnection或第三方库如OkHttp均可。这里展示一个基础示例。
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class TianQiIPDemo {
public static void main(String[] args) {
String apiKey = "你的API密钥";
String apiUrl = "http://api.tianqiip.com/getip?key=" + apiKey +
"&num=2&type=json&pack=你的套餐ID&city=310000&time=600&protocol=http";
try {
URL url = new URL(apiUrl);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setConnectTimeout(10000);
BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String inputLine;
StringBuilder content = new StringBuilder();
while ((inputLine = in.readLine()) != null) {
content.append(inputLine);
}
in.close();
conn.disconnect();
System.out.println("API返回结果: " + content.toString());
// 这里可以接入JSON解析库(如Jackson/Gson)来解析content,提取IP列表
} catch (Exception e) {
e.printStackTrace();
}
}
}
Node.js 示例
在Node.js环境中,可以使用内置的https模块或更流行的axios库。
const axios = require('axios'); // 需要先安装: npm install axios
async function fetchProxyIP() {
const apiUrl = 'http://api.tianqiip.com/getip';
const params = {
key: '你的API密钥',
num: 2,
type: 'json',
pack: '你的套餐ID',
city: '310000',
time: 600,
protocol: 'http'
};
try {
const response = await axios.get(apiUrl, { params, timeout: 10000 });
const result = response.data;
if (result.code === 0) {
console.log('成功获取代理IP列表:');
result.data.forEach(proxy => {
console.log(`IP: ${proxy.ip}:${proxy.port}, 过期时间: ${proxy.expire_time}`);
});
} else {
console.log(`获取失败: ${result.msg}`);
}
} catch (error) {
console.error('请求发生异常:', error.message);
}
}
fetchProxyIP();
常见问题与解答 (QA)
Q1: 调用API返回错误码,如何排查?
A1: 首先查看返回的msg字段,通常会直接提示错误原因,如“密钥错误”、“套餐不存在”、“余额不足”等。请依次检查:1) API密钥是否正确;2) 套餐ID是否正确且有效;3) 账户余额是否充足;4) 参数格式和值是否在允许范围内。
Q2: 获取到的IP连接失败或速度慢怎么办?
A2: 代理IP在网络中具有时效性。检查IP是否已过期(查看expire_time)。天启代理提供IP可用率≥99%的保证,若偶遇不可用IP,建议在程序中加入重试机制,自动从API重新获取新IP替换。对于速度要求高的业务,可以尝试选择响应延迟≤10毫秒的优质线路,或指定离你目标服务器更近的城市节点。
Q3: 如何保证获取的IP不重复?
A3: 天启代理的API内置了资源去重功能。你可以在调用时开启相关参数(具体请查阅最新接口文档),支持按时间自动去重和按需过滤,确保在设定的时间窗口内,返回给你的IP是全新的,避免在业务中因IP重复而触发反爬机制。
Q4: 我的业务需要高并发调用API,有限制吗?
A4: 天启代理采用高性能服务器和分布式集群架构,专门为应对高并发场景设计。只要你的账户套餐允许,API可以支持较高的并发调用频率。如果业务量极大,建议联系天启代理的技术客服,他们可以提供一对一的企业级代理服务方案和技术支持,确保你的业务平稳运行。
Q5: 除了提取API,天启代理还提供其他接入方式吗?
A5: 是的,为了满足不同业务场景的接入需求,天启代理除了提供便捷的API,还支持终端IP授权和账号密码授权(白名单/账密验证)两种方式。终端IP授权适合固定服务器出访的场景,安全性高;账号密码授权则更加灵活,适合移动或动态IP的环境。你可以根据自身情况选择最合适的方式。


