2012-08-10 117 views
2

我知道如何使用NSURLConnection来实现“https”来处理异步请求。它可以使用几个委托方法来实现。现在我的问题是,我有我的整个应用程序使用同步请求工作,这是不可能的,现在改成异步。任何人都可以请告诉我如何在NSURLConnection中实现同步请求的SSL验证?允许在iPhone中使用可信任的SSL证书

回答

1

我从来没有找到办法。 NSURLConnection同步请求在功能上极其有限。我围绕NSURLConnection写了一个封装,我称它为GPHTTPRequest。应该允许你将请求同步到允许自签名的能力,并且像ASIHTTPRequest一样工作,但是基于NSURLConnection而不是低级的CFNetwork框架。链接是在这里:

https://github.com/daltoniam/GPHTTPRequest

也快速的代码示例:

GPHTTPRequest* request = [GPHTTPRequest requestWithString:@"https://selfsignedURLYouwanttoaccess"]; 
request.allowSelfSigned = YES; 
[request startSync]; 
NSLog(@"response: %@",[request responseString]); 

也为期权的缘故,你可以检查出:

http://allseeing-i.com/ASIHTTPRequest/

https://github.com/afnetworking/afnetworking

,但我会推荐GPHTTPRequest,因为我写了它并知道它是如何工作的。 ;)有任何问题让我知道。

+0

谢谢@daltoniam :)顺便说一句你写了这个?你是什​​么意思的包装?你能解释一下吗?再次感谢:) – user1439284 2012-08-11 18:38:48

+0

正确,我写了那个GPHTTPRequest库。通过包装我的意思是,它在类中使用NSURLConnection。所以它是基于NSURLConnection框架构建的,我的课程“包装”了API,使其更简单,更健壮。我的目标是创建ASIHTTPRequest的替代品,因为它不再被更新。如果您发现我的答案有用,请接受它(检查标记旁边的答案)。 – daltoniam 2012-08-11 19:55:15