在控制台上打印网站的信息

时间:2016-02-05 16:15:12

标签: ios objective-c uiwebview nsstring

我制作了一台运行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

怎么了?

1 个答案:

答案 0 :(得分:0)

问题仅与您的证书有关。如果您已正确设置这样的plist。enter image description here

如果您想验证此内容,只需更改代码中网站的网址( 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