如何在 libcurl 中阻止对特定 IP 的 HTTP 请求?

How to block the HTTP request to a particular IP in libcurl?

我正在使用 libcurl(http://curl.haxx.se/libcurl/) 来触发 HTTP 请求。 一旦 FQDN 解析为 IP 地址,我想阻止对特定 IP 地址的请求。

如何以及在哪里可以阻止对特定 IP 地址的请求?

使用getaddrinfo() 找出FQDN 的IP 地址。使用该地址来确定是否提交 curl 请求。

libcurl 本身没有内置的阻止此 IP 功能。但它确实为您提供了构建自己的构建块!

使用 CURLOPT_OPENSOCKETFUNCTION 并让您的回调执行地址检查,如果使用 "bad" 地址则 return 失败,否则您调用正常的 socket() 函数。