IPV6 被拒解决办法

1.1 IPV6 被拒解决办法

App需要修改三个地方:

1.manager.responseSerializer.acceptableContentTypes = nil;

2.修改AFNetworkReachabilityManager.m文件,用下面函数替换原来的这个函数。

原因:ipv6可能并没有走AF_INET6这一段代码,所以强制让代码在iOS9的版本走AF_INET6。

+ (instancetype)manager

{

double version = [[UIDevice currentDevice].systemVersion doubleValue];

if (version >= 9.0f)

{

struct sockaddr_in6 address;

bzero(&address, sizeof(address));

address.sin6_len = sizeof(address);

address.sin6_family = AF_INET6;

return [self managerForAddress:&address];

}

else

{

#if (defined(__IPHONE_OS_VERSION_MIN_REQUIRED) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 90000) || (defined(__MAC_OS_X_VERSION_MIN_REQUIRED) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101100)

struct sockaddr_in6 address;

bzero(&address, sizeof(address));

address.sin6_len = sizeof(address);

address.sin6_family = AF_INET6;

#else

struct sockaddr_in address;

bzero(&address, sizeof(address));

address.sin_len = sizeof(address);

address.sin_family = AF_INET;

#endif

return [self managerForAddress:&address];

}

}

1.2 AFNetwork版本在3.0以上,网络请求哪里代码这样写。

AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];

manager.responseSerializer.acceptableContentTypes = nil;//[NSSet setWithObject:@"text/plain"];

manager.securityPolicy = [AFSecurityPolicy defaultPolicy];

manager.securityPolicy.allowInvalidCertificates = YES;//忽略https证书

manager.securityPolicy.validatesDomainName = NO;//是否验证域名

1.3还有一种可能

** 后台压根没有配置IVP6,导致审核失败。**

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容