我能找到的关于这个话题的唯一其他帖子(没有真正帮助)是:
https://github.com/curl/curl/issues/594我使用libcurl对服务器进行API调用。它可以很好地使用IPv4,但一旦我切换到使用WiFi通过IPv6网络,我得到一个CURL_COULDNT_CONNECT
。
我试着调试以获得额外的信息:
curl_easy_setopt( m_curl, CURL_VERBOSE, 1L );
curl_easy_setopt( m_curl, CURLOPT_DEBUGFUNCTION, my_trace );
问题1:在my_trace(CURL* handle, curl_infotype type, char* data, size_t size, void* userp )
中检查data
是否有其他方法可以获得更详细的输出?
问题2:检查上面的data
得到这个:"Immediate connect fail for aa.bb.cc.dd: Network is unreachablen"
,其中aa.bb..是一些IP。为什么IPv6会失败?
"立即连接aa.bb.cc失败。"dd",因为这是IPv4地址而不是IPV6地址(看起来像aa:bb::cc:dd:…)您需要使用NAT64先获取IPv6地址,然后连接到该地址