我制作了一台运行https网站的服务器。我想在Xcode的控制台上打印出网站的信息。
为此,我将以下内容添加到ViewController.m
:
- (void)viewDidLoad
{
[super viewDidLoad];
NSError *error;
NSString *address = [NSString stringWithFormat: @"https://54.169.239.78:3001"];
NSURL *url = [NSURL URLWithString:address];
NSString *theWeb = [NSString stringWithContentsOfURL:url encoding:NSASCIIStringEncoding error:&error];
NSLog(@"%@", theWeb);
}
但是,结果始终为(null)
。另外,我收到一个错误:
NSURLSession / NSURLConnection HTTP加载失败 (kCFStreamErrorDomainSSL,-9813)
即使我在Info.plist中允许App Transport Security
怎么了?
答案 0 :(得分:0)
如果您想验证此内容,只需更改代码中网站的网址( https://developer.apple.com/ ),并将代码更新为:
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
NSError *error;
NSString *address = [NSString stringWithFormat: @"https://developer.apple.com/"];
NSURL *url = [NSURL URLWithString:address];
NSString *theWeb = [NSString stringWithContentsOfURL:url encoding:NSASCIIStringEncoding error:&error];
NSLog(@"%@", theWeb);
}
我试过它已经显示了内容。
您实际上需要真正的SSL证书。这里还讨论了有关详细信息和自签名证书的证书链接: Certificate details