用 IPASK API 写一个批量验货客户端
实战:认证、分批、并发、重试与配额计算,附可运行代码。
基本调用
POST /api/v1/verify
Authorization: Bearer <key>
content-type: application/json
{ "ips": ["45.32.11.8", "73.162.0.1"] }
返回:{ count, results[], quota: { used, limit, remaining } },每条结果包含 ip、location、network、security。
单批上限按套餐(免费 10、Pro 50、Studio 100)。重复地址服务端会去掉,本地去重只是省带宽。
一个最小 Node 客户端
const KEY = process.env.IPASK_KEY;
const BATCH = 50;
async function verify(ips) {
const out = [];
for (let i = 0; i < ips.length; i += BATCH) {
const slice = ips.slice(i, i + BATCH);
const res = await fetch('https://ipask.net/api/v1/verify', {
method: 'POST',
headers: { 'content-type': 'application/json', authorization: 'Bearer ' + KEY },
body: JSON.stringify({ ips: slice }),
});
if (res.status === 429) break; // 配额用尽,停止,不要重试
if (!res.ok) throw new Error('HTTP ' + res.status);
const body = await res.json();
out.push(...body.results);
}
return out;
}
省事的几条规则
- 别猛并发。 2–3 个并发批次足够;服务端不管你并发多少,都按同一份日配额扣。
- 429 当「今天结束了」,不是重试信号。
- 大批量前先查 /api/v1/quota 接口,方便中途干净地停下。
- 存下每条结果的 first_seen 字段——这是你自己判断地址是否换手的信号。
- 先抽 20 个地址试水,判断这个池子值不值得全量验。
什么时候该用报告
如果结果是给人看的——供应商、老板——用 POST /api/report/create 生成只读报告链接,带概览和可打印表格,比丢一堆 JSON 好读。
读完先验一批 IP?
去验一批 →