Cocos2dx CUrl IPV6 环境下载文件失败

时间:2022-03-10 20:31:39
URLcode res;
    curl_easy_setopt(_curl, CURLOPT_URL, _packageUrl.c_str());
    curl_easy_setopt(_curl, CURLOPT_WRITEFUNCTION, downLoadPackage);
    curl_easy_setopt(_curl, CURLOPT_WRITEDATA, fp);
    curl_easy_setopt(_curl, CURLOPT_NOPROGRESS, false);
    curl_easy_setopt(_curl, CURLOPT_PROGRESSFUNCTION, assetsManagerProgressFunc2);
    curl_easy_setopt(_curl, CURLOPT_PROGRESSDATA, this);
    curl_easy_setopt(_curl, CURLOPT_NOSIGNAL, 1L);
    curl_easy_setopt(_curl, CURLOPT_LOW_SPEED_LIMIT, LOW_SPEED_LIMIT);
    curl_easy_setopt(_curl, CURLOPT_LOW_SPEED_TIME, LOW_SPEED_TIME);
    curl_easy_setopt(_curl, CURLOPT_FOLLOWLOCATION, 1 );

返回: CURLE_COULDNT_CONNECT(7)   connect()的主机或代理失败。


IPV4网络环境正常下载
IPV6网络环境返回 CURLE_COULDNT_CONNECT(7) , 但使用浏览器是能打印这个链接地址的。

8 个解决方案

#1


遇到同样的问题,感觉库有点问题
* Rebuilt URL to: http://www.baidu.com/
*   Trying 180.97.33.107...
* Immediate connect fail for 180.97.33.107: Network is unreachable
*   Trying 180.97.33.108...
* Immediate connect fail for 180.97.33.108: Network is unreachable
* Closing connection 0

在ipv6 的网络中访问百度,返回的ip地址还是ipv4的地址,不是ipv6的地址,有人知道如何解决不

#2


我也遇到了

不知道怎么解决

curl_code=curl_easy_setopt(curl, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V6);
curl_code=curl_easy_setopt(curl, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4); 
没用,还是报错

  CURLE_COULDNT_RESOLVE_HOST,    /* 6 */
  CURLE_COULDNT_CONNECT,         /* 7 */

#3


你使用的库 libcurl  不支持IPV6,你要去下载或者自己编译一个支持IPV6的libcurl 在编译的时候加上:--enable-ipv6

#4


引用 3 楼 crash163 的回复:
你使用的库 libcurl  不支持IPV6,你要去下载或者自己编译一个支持IPV6的libcurl 在编译的时候加上:--enable-ipv6



--enable-ipv6    试了下, 确是可以


有个问题   原先的编译  没有--enable-ipv6,但  为什么 mac 能够连 ipv6 ok, 模拟器也行

#5


引用 4 楼 tubo_true 的回复:
Quote: 引用 3 楼 crash163 的回复:

你使用的库 libcurl  不支持IPV6,你要去下载或者自己编译一个支持IPV6的libcurl 在编译的时候加上:--enable-ipv6



--enable-ipv6    试了下, 确是可以


有个问题   原先的编译  没有--enable-ipv6,但  为什么 mac 能够连 ipv6 ok, 模拟器也行


libcurl 的编译这么弄的???

#6


引用 4 楼 tubo_true 的回复:
Quote: 引用 3 楼 crash163 的回复:

你使用的库 libcurl  不支持IPV6,你要去下载或者自己编译一个支持IPV6的libcurl 在编译的时候加上:--enable-ipv6



--enable-ipv6    试了下, 确是可以


有个问题   原先的编译  没有--enable-ipv6,但  为什么 mac 能够连 ipv6 ok, 模拟器也行


libcurl 怎么编译啊? 或者说在哪里下载支持ipv6的,我下载了官方支持v6更新的libcurl库,还是不行啊

#7


感谢你们的回复,刚发现是ccos的curl库版本太低。
http://www.cnblogs.com/yans/p/5558178.html 

#8


说到审核被拒真心一个头两个大,这大热天心情更烦躁了!!!但是我的审核通过了,这可比吃雪糕降温速度快多了,第一天提交,第二天通过,这速度杠杠哒,其实就是给APP服务器域名添加IPv6解析,添加一条4A记录,超级easy,无意中加入的干货群(128346414)帮我解决了苹果审核头疼的问题,推荐一试!

#1


遇到同样的问题,感觉库有点问题
* Rebuilt URL to: http://www.baidu.com/
*   Trying 180.97.33.107...
* Immediate connect fail for 180.97.33.107: Network is unreachable
*   Trying 180.97.33.108...
* Immediate connect fail for 180.97.33.108: Network is unreachable
* Closing connection 0

在ipv6 的网络中访问百度,返回的ip地址还是ipv4的地址,不是ipv6的地址,有人知道如何解决不

#2


我也遇到了

不知道怎么解决

curl_code=curl_easy_setopt(curl, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V6);
curl_code=curl_easy_setopt(curl, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4); 
没用,还是报错

  CURLE_COULDNT_RESOLVE_HOST,    /* 6 */
  CURLE_COULDNT_CONNECT,         /* 7 */

#3


你使用的库 libcurl  不支持IPV6,你要去下载或者自己编译一个支持IPV6的libcurl 在编译的时候加上:--enable-ipv6

#4


引用 3 楼 crash163 的回复:
你使用的库 libcurl  不支持IPV6,你要去下载或者自己编译一个支持IPV6的libcurl 在编译的时候加上:--enable-ipv6



--enable-ipv6    试了下, 确是可以


有个问题   原先的编译  没有--enable-ipv6,但  为什么 mac 能够连 ipv6 ok, 模拟器也行

#5


引用 4 楼 tubo_true 的回复:
Quote: 引用 3 楼 crash163 的回复:

你使用的库 libcurl  不支持IPV6,你要去下载或者自己编译一个支持IPV6的libcurl 在编译的时候加上:--enable-ipv6



--enable-ipv6    试了下, 确是可以


有个问题   原先的编译  没有--enable-ipv6,但  为什么 mac 能够连 ipv6 ok, 模拟器也行


libcurl 的编译这么弄的???

#6


引用 4 楼 tubo_true 的回复:
Quote: 引用 3 楼 crash163 的回复:

你使用的库 libcurl  不支持IPV6,你要去下载或者自己编译一个支持IPV6的libcurl 在编译的时候加上:--enable-ipv6



--enable-ipv6    试了下, 确是可以


有个问题   原先的编译  没有--enable-ipv6,但  为什么 mac 能够连 ipv6 ok, 模拟器也行


libcurl 怎么编译啊? 或者说在哪里下载支持ipv6的,我下载了官方支持v6更新的libcurl库,还是不行啊

#7


感谢你们的回复,刚发现是ccos的curl库版本太低。
http://www.cnblogs.com/yans/p/5558178.html 

#8


说到审核被拒真心一个头两个大,这大热天心情更烦躁了!!!但是我的审核通过了,这可比吃雪糕降温速度快多了,第一天提交,第二天通过,这速度杠杠哒,其实就是给APP服务器域名添加IPv6解析,添加一条4A记录,超级easy,无意中加入的干货群(128346414)帮我解决了苹果审核头疼的问题,推荐一试!