批量请求
我们的/batch
API 端点允许您将最多 1000 个 IPinfo API 请求分组为单个请求。这确实可以加快批量 IP 查找的处理速度,如果您想跨我们的不同 API 查找信息,它也很有用。
端点/batch
采用 URL 列表并使用 JSON 对象进行响应,其中输入 URL 作为键,响应作为值。URL 列表可以作为换行符分隔的 URL 列表或 JSON 对象提供。以下是两种方法的示例以及所需的相应内容类型标头。首先,使用 JSON 数组:
curl -XPOST --data '["8.8.8.8/country", "8.8.4.4/country"]' "ipinfo.io/batch?token=$TOKEN"
{ "8.8.4.4/country": "US", "8.8.8.8/country": "US" }
其次,作为换行符分隔的 URL 列表:
echo -e '8.8.8.8/country\n8.8.4.4/country' | \ curl -XPOST --data-binary @- "ipinfo.io/batch?token=$TOKEN"
或者,
cat urlList | curl -XPOST --data-binary @- "ipinfo.io/batch?token=$TOKEN"
{ "8.8.4.4/country": "US", "8.8.8.8/country": "US" }
还有一个可选filter
参数,如果设置该参数,将导致从响应中删除任何没有响应的 URL。这对于查找一系列 IP 存在的主机名等事情很有用:
# Without filter $ echo -e '8.8.8.8/hostname\n8.8.8.9/hostname' | curl -XPOST --data-binary @- "ipinfo.io/batch?token=$TOKEN" { "8.8.8.8/hostname": "dns.google", "8.8.8.9/hostname": "" } # With filter $ echo -e '8.8.8.8/hostname\n8.8.8.9/hostname' | curl -XPOST --data-binary @- "ipinfo.io/batch?token=$TOKEN&filter=1" { "8.8.8.8/hostname": "dns.google", }
请注意,为了跟踪请求量,/batch
不会计算对的调用,但会计算调用中的所有 URL。因此,上面的示例算作 2 个请求,而对/batch
100 个 URL 的单次调用将算作 100 个请求。
批处理端点适用于我们所有的 API。因此,您也可以将其与我们的 ASN、IP 范围和托管域端点一起使用。