我在我的应用程序中使用libcurl作为http客户端。
我使用以下libcurl函数与HTTP服务器进行通信:
curl_easy_setopt(curl, CURLOPT_URL, url);
我想在发送第一条http消息后知道服务器URL的IP地址。我如何用libcurl做到这一点。
注意:HTTP服务器可以将第一条HTTP消息重定向到另一台服务器。如何知道第二台服务器的IP地址?
答案 0 :(得分:3)
<强> CURLINFO_PRIMARY_IP 强>
将指针传递给char指针,以接收指向以零结尾字符串的指针,该字符串包含使用此curl句柄完成的最近连接的地址 。如果已启用,则此字符串可以是IPv6。请注意,您将获得指向将在下一个请求时重复使用的内存区域的指针,因此如果要保留信息,则需要复制该字符串。 (在7.19.0中添加)
这应该是任何重定向后的最终连接。
另一种方法可能是使用CURLINFO_LASTSOCKET
并从中提取对等体,但我不知道在连接完成后使用的套接字有效多长时间。