<i id='igTzr'><tr id='igTzr'><dt id='igTzr'><q id='igTzr'><span id='igTzr'><b id='igTzr'><form id='igTzr'><ins id='igTzr'></ins><ul id='igTzr'></ul><sub id='igTzr'></sub></form><legend id='igTzr'></legend><bdo id='igTzr'><pre id='igTzr'><center id='igTzr'></center></pre></bdo></b><th id='igTzr'></th></span></q></dt></tr></i><div id='igTzr'><tfoot id='igTzr'></tfoot><dl id='igTzr'><fieldset id='igTzr'></fieldset></dl></div>

    • <bdo id='igTzr'></bdo><ul id='igTzr'></ul>
  • <legend id='igTzr'><style id='igTzr'><dir id='igTzr'><q id='igTzr'></q></dir></style></legend>
    <tfoot id='igTzr'></tfoot>

        <small id='igTzr'></small><noframes id='igTzr'>

      1. 在 UIWebView 上获取 HTTP 响应标头

        时间:2023-10-22
        • <i id='8vTEE'><tr id='8vTEE'><dt id='8vTEE'><q id='8vTEE'><span id='8vTEE'><b id='8vTEE'><form id='8vTEE'><ins id='8vTEE'></ins><ul id='8vTEE'></ul><sub id='8vTEE'></sub></form><legend id='8vTEE'></legend><bdo id='8vTEE'><pre id='8vTEE'><center id='8vTEE'></center></pre></bdo></b><th id='8vTEE'></th></span></q></dt></tr></i><div id='8vTEE'><tfoot id='8vTEE'></tfoot><dl id='8vTEE'><fieldset id='8vTEE'></fieldset></dl></div>

              <bdo id='8vTEE'></bdo><ul id='8vTEE'></ul>
              <tfoot id='8vTEE'></tfoot>
                <tbody id='8vTEE'></tbody>
              <legend id='8vTEE'><style id='8vTEE'><dir id='8vTEE'><q id='8vTEE'></q></dir></style></legend>

            • <small id='8vTEE'></small><noframes id='8vTEE'>

                • 本文介绍了在 UIWebView 上获取 HTTP 响应标头的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  如何从 WebView 获取 HTTP 标头响应?我找到了半解决方案在 Stackoverflow,但它是用 Objective-C 编写的,无法将其转换为 Swift (我已经尝试过使用我糟糕的 Obj-C 知识).

                  How can I get HTTP headers response from WebView? I've found semi-solutions at Stackoverflow, but it's written on Objective-C and can't convert it to Swift (I've tried with my poor Obj-C knowledge).

                  Objective-C 代码:

                  Objective-C code:

                  - (void)webViewDidFinishLoad:(UIWebView *)webView {
                      NSCachedURLResponse *resp = [[NSURLCache sharedURLCache] cachedResponseForRequest:webView.request];
                      NSLog(@"%@",[(NSHTTPURLResponse*)resp.response allHeaderFields]);
                  }
                  

                  1. 该代码将如何看待 Swift?
                  2. 也许现在我们有更好的方法来做到这一点?缓存并不总是启用.

                  推荐答案

                  Swift

                  Swift 更严格;你想保护自己免受 nil 指针和 optionals:

                  Swift is more stringent ; you want to protect yourself against nil pointers and optionals:

                  • 检查 webView 是否确实有 request
                  • 检查 request 是否确实有 NSCachedURLResponse
                  • 根据 NSHTTPURLResponse
                  • 对响应进行类型检查
                  • check that the webView actually has a request
                  • check that the request actually has a NSCachedURLResponse
                  • type-check the response against NSHTTPURLResponse
                  func webViewDidFinishLoad(webView: UIWebView) {
                      if let request = webView.request {
                          if let resp = NSURLCache.sharedURLCache().cachedResponseForRequest(request) {
                              if let response = resp.response as? NSHTTPURLResponse {
                                  print(response.allHeaderFields)
                              }
                          }
                      }
                  }
                  

                  这篇关于在 UIWebView 上获取 HTTP 响应标头的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  上一篇:如何使用 Javascript 与 Objective-c 代码进行通信? 下一篇:如何在 UIWebView 中检测重定向

                  相关文章

                  <i id='pEyHB'><tr id='pEyHB'><dt id='pEyHB'><q id='pEyHB'><span id='pEyHB'><b id='pEyHB'><form id='pEyHB'><ins id='pEyHB'></ins><ul id='pEyHB'></ul><sub id='pEyHB'></sub></form><legend id='pEyHB'></legend><bdo id='pEyHB'><pre id='pEyHB'><center id='pEyHB'></center></pre></bdo></b><th id='pEyHB'></th></span></q></dt></tr></i><div id='pEyHB'><tfoot id='pEyHB'></tfoot><dl id='pEyHB'><fieldset id='pEyHB'></fieldset></dl></div>

                    <legend id='pEyHB'><style id='pEyHB'><dir id='pEyHB'><q id='pEyHB'></q></dir></style></legend>
                        <bdo id='pEyHB'></bdo><ul id='pEyHB'></ul>
                      <tfoot id='pEyHB'></tfoot>

                    1. <small id='pEyHB'></small><noframes id='pEyHB'>