1.情景:
由于公司业务需求,需要在iPad端架设服务器,当用户手机扫码连接wifi时,公司后台会重定向到我iPad端的服务器,并通过Socket将必要的用户信息发给iPad端,iPad验证用户信息,然后发送xml请求给AC(我们公司用的Aruba),请求通过则再由iPad重定向给用户一个成功页面,否则失败页面。 真的是折腾了好久。废话不多说,进入正题。
2.使用AFN 3.0做同步请求的原因:
由于连接AC是一个https的请求,需要做证书验证,可能通过CA验证的证书成本高吧,并没有去搞证书,于是必须绕过证书验证。 曾经的NSURLConnection中有didReceiveChallenge几个代理方法可以实现,但是毕竟Apple现在推荐NSURLSession嘛,尝试了,也不知道什么原因,AC总是连不上。 于是去AFN里面找了一会儿,发现AFN的策略配置,给manager设置允许无效证书和不验证域名,代码如下:
//request
NSURL *URL = [NSURL URLWithString:urlString];
NSMutableURLRequest *request1 = [NSMutableURLRequest requestWithURL:URL];
[request1 setHTTPMethod:@