ios - 网页加载时间代码片段仅适用于 https 网站

标签 ios loading html

下面为 iOS 应用程序编写的代码片段(查找网页加载时间)仅适用于 https 网站。但是当我尝试提供 http 站点时,它显示网页加载错误。我应该更改代码的哪一部分?

self.setTextLabel.text = @"Loading...";
    NSURL *urlValue = [NSURL URLWithString:_textView.text];
    NSURLRequest *request= [NSURLRequest requestWithURL:urlValue];
    NSDate *start=[NSDate date];
    NSData *response = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
    /*NSURLSessionDataTask *task =[[NSURLSession sharedSession] dataTaskWithRequest:request completionHandler:^(NSData *data,NSURLResponse *response,NSError *error)
    {*/
    NSDate *end=[NSDate date];
        if(response != nil)
        {
            double ellapsedSeconds= [end timeIntervalSinceDate:start];
            self.setTextLabel.text = [NSString stringWithFormat:@"%f ", ellapsedSeconds];

        }
        else
        {
            self.setTextLabel.text = @"Web Page Loading error !";

        }

最佳答案

首先您需要执行以下操作:打开 Info.plist,然后添加以下行:

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
</dict>

1) 如果您使用的是 WebView ,则

//可以说这是您加载请求的位置,并且您已经使用委托(delegate)设置了 webview

-(void)loadRequest{

      [webView loadRequest:yourRequest];
      startDate=[NSDate date];
   }

//这是UIWebView的委托(delegate)回调

- (void)webViewDidFinishLoad:(UIWebView *)webView
{
   NSDate *endDate=[NSDate date];
   double ellapsedSeconds= [endDate timeIntervalSinceDate:startDate];
}

2) 没有网页 View :

 NSDate *start=[NSDate date];
    NSURLRequest *r= [[NSURLRequest alloc] initWithURL:url]; 
    NSData *response=   [NSURLConnection sendSynchronousRequest:r returningResponse:nil error:nil];
   NSDate *end=[NSDate date];
 double ellapsedSeconds= [start timeIntervalSinceDate:end];

关于ios - 网页加载时间代码片段仅适用于 https 网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37546499/

相关文章:

ios - 从屏幕中心展开一个圆圈

ios - 如何将文件(>64M)上传到 Azure Blob 存储[iOS]

ios - 如何使用 pop 或 CoreAnimation 更改动画的起点或 anchor

java - 如何使用 For 循环从数据库中拆分不同 LinearLayout 中的名称

swift - 如何在 UIAlertController 中应用音乐广播加载?

ios - 快速控制流程

html - CSS `background-repeat` 属性

javascript - 使用 Meteor 为特定页面/路由指定 'html, body' css 设置

html - 在没有一个 TD 的 TR 中上课

javascript - 如何在后台加载图像?