我编写了这个简单的代码来检查网络连接或我们的 iOS 应用程序:
int CL_Network::checkConnectionInt1(){
CURL *curl;
CURLcode res;
curl = curl_easy_init();
if (curl) {
curl_easy_setopt(curl, CURLOPT_VERBOSE, 1);
curl_easy_setopt(curl, CURLOPT_URL, "http://www.google.com");
res = curl_easy_perform(curl);
curl_easy_cleanup(curl);
return res;
}
curl_easy_cleanup(curl);
return -1;
}
我们的测试没问题,启用 Wi-Fi 时返回 0,但 Apple 审阅者在启用或禁用 Wi-Fi 时返回 23 (CURL_WRITE_ERROR)。
审稿人告诉我们其他奇怪的行为(考虑启用 Wi-Fi)
- 装有 iOS 5.1 的 iPod touch 返回 0,与装有 iOS 6.3 的 iPhone5 相同的 Wi-Fi 返回 23
- iPhone 5 with iOS 6.3 run step by step debug 返回 0(不知道是只发生一次还是一直发生)
你有什么建议吗?
最后一点,curl_easy_perform 的详细输出
< HTTP/1.1 302 找到 < 位置:http ://www.google.it/ < 缓存控制:私有 < 内容类型:文本/html;charset=UTF-8 < 设置 Cookie:PREF=ID=08f8ea131f5d39dd:FF=0:TM=1367680782:LM=1367680782:S=at5IyKNTpeoFFnif; expires=周一,2015 年 5 月 4 日 15:19:42 GMT;路径=/; 域=.google.com < 设置 Cookie:NID=67=uPKHTXNtVuYy4QOwVHstK4NzMGZcDssYW .....;过期=周日,2013 年 11 月 3 日 15:19:42 GMT;路径=/; 域=.google.com;HttpOnly < P3P: CP="这不是 P3P 政策!有关详细信息,请参阅 http://www.google.com/support/accounts/bin/answer.py?hl=en&answer=151657 。" < 日期:2013 年 5 月 4 日星期六 15:19:42 GMT < 服务器:gws < 内容长度:218 < X-XSS-Protection:1;mode=block < X-Frame-Options: SAMEORIGIN < 302 已移动
- 即将 connect() 到 www.google.com 端口 80 (#0)
- 正在尝试 173.194.35.20...
- 连接的
- 连接到 www.google.com (173.194.35.20) 端口 80 (#0)
GET / HTTP/1.1 主机:www.google.com 接受:/
302 搬家了
文档已移至此处。* 到主机 www.google.com 的连接 #0 保持不变 * 关闭连接 #0 2013-05-04 17:19:42.183 testcurl[1468:c07] checkConnection 1:0