在寫文章之前要先提醒一下大家,以下的教學目的是不論如何都要去連 HTTPS Server
正常的情況下是會先輸入帳號密碼,而且檢查 Server 的憑證是不是合法之類的
即使不用輸入帳號密碼,如果憑證有可疑,通常 Browser 也會跳出一個視窗來提醒使用者,如下
Firefox 會看到
Safari 會看到
以下的文章是在不用輸入帳號密碼而且不檢查 Server 的憑證的清況下
簡單利用 NSURLConnection 就可以了
- (void)viewDidLoad
{
[super viewDidLoad];
NSString * httpsAddress = @"https://allseeing-i.com";
NSURLConnection * urlCon = [NSURLConnection connectionWithRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:httpsAddress]] delegate:self];
}
// 一般的 connection delegate
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data{
NSLog(@"got data %@", [[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding] autorelease]);
}
- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error{
NSLog(@"error");
}
// 無論如何回傳 YES
- (BOOL)connection:(NSURLConnection *)connection canAuthenticateAgainstProtectionSpace:(NSURLProtectionSpace *)protectionSpace{
return YES;
}
// 不管那一種 challenge 都相信
- (void)connection:(NSURLConnection *)connection didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge{
NSLog(@"received authen challenge");
[challenge.sender useCredential:[NSURLCredential credentialForTrust:challenge.protectionSpace.serverTrust] forAuthenticationChallenge:challenge];
}
您好:
回覆刪除找不到可以留言的地方, 所以留在這裡了
請問7/23 ~ 8/20 的資策會 Level 1 還是您教的嗎?
我目前比較想學blocks 跟 gcd...
請問level1 還是level2 會對這兩個單元教的比較多呢?
hello, 還是我教的,Block & GCD 的基本原理會在 level 1 上。level 4 會有比較多的應用。會談到多核平行處理。
回覆刪除多謝回覆
回覆刪除如果我已經了解基本的Block & GCD用法, 你的建議是上level1 or level4呢?
另外我看到level4有AR, 請問AR的課程是只有在cameraView上add 一個
overlayer的做法, 還是像使用openCV 或是https://github.com/sonsongithub/CoreAR 這種有圖形辨識的課程呢?
抱歉打擾了, 因為資策會的網頁沒寫的那麼詳細
Hi, shinren
回覆刪除Level 1 是給完全初學者的哦。不過 11/27 的 Level 1 完全用最新的Xcode 4.2 也會教到 iOS 5 Objective-C 的最新的語法。還有新的storyboard。如果想上的話也可以參考看看。
Level 4 是對 GCD 有非常詳盡的解釋,dispatch_async, dispatch_sync, dispatch_once, dispach_apply, dispatch_after. 還有什麼是 serial queue. 什麼是 concurrent queue 等等。其他的如facebook api。畫圖的 core plot 如果有需要的話也可以考慮上課。
老師你好,
回覆刪除關於https您所提供的方式,
在"非同步"的狀況下我可以成功。
但是若是在"同步"的狀況下,
請問我要怎麼做比較好呢?
非常感謝您的幫忙!!