批量请求


我们的/batchAPI 端点允许您将最多 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 个请求,而对/batch100 个 URL 的单次调用将算作 100 个请求。


批处理端点适用于我们所有的 API。因此,您也可以将其与我们的 ASN、IP 范围和托管域端点一起使用。

批量请求


我们的/batchAPI 端点允许您将最多 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 个请求,而对/batch100 个 URL 的单次调用将算作 100 个请求。


批处理端点适用于我们所有的 API。因此,您也可以将其与我们的 ASN、IP 范围和托管域端点一起使用。