曲径通幽论坛

 找回密码
 立即注册
搜索
查看: 7142|回复: 0
打印 上一主题 下一主题

[Curl] 指定地址解析器(CURLOPT_RESOLVE)

[复制链接]

4918

主题

5880

帖子

3万

积分

GROAD

曲径通幽,安觅芳踪。

Rank: 6Rank: 6

积分
34395
跳转到指定楼层
楼主
发表于 2013-7-9 20:19:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
可以使用 CURLOPT_RESOLVE 选项指定一个域名对应的 IP,而不是通过已知的地址解析器,如 DNS。


测试代码:
[C++] 纯文本查看 复制代码
#include <stdio.h>
#include <string.h>
#include <curl/curl.h>
#include <curl/easy.h>


int main(void)
{
        CURL *curl;
        CURLcode res;


        struct curl_slist *host = NULL;


        host = curl_slist_append(NULL, "groad.net:80:192.168.1.102");


        curl = curl_easy_init();


        if (curl) {
                curl_easy_setopt(curl, CURLOPT_RESOLVE, host);
                curl_easy_setopt(curl, CURLOPT_URL, "http://groad.net/index.html");


                res = curl_easy_perform(curl);


                curl_easy_cleanup(curl);
        }


        curl_slist_free_all(host);


        return (int)res;
}

在上面的代码中显示指定了 groad.net 对应的 IP 为 192.168.1.102,因此程序访问的是 192.168.1.102 这个 IP 的服务器,而不是 DNS 里解析出的公网 IP 。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|曲径通幽 ( 琼ICP备11001422号-1|公安备案:46900502000207 )

GMT+8, 2025-5-4 00:17 , Processed in 0.086749 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表