【问题标题】:How can I prevent the “User Agent” header of a WKWebView from changing?如何防止 WKWebView 的“用户代理”标头发生变化?
【发布时间】:2016-08-12 01:51:21
【问题描述】:
    let url =  NSURL(string:"http://www.examplepage.com/“)
            let Request = NSMutableURLRequest(URL: url!)


            Request.setValue("Custom-Agent", forHTTPHeaderField: "User-Agent")

            let task1 = NSURLSession.sharedSession().dataTaskWithRequest(Request){ data, response, error in

                let contentPage =  NSString(data: data!, encoding: NSUTF8StringEncoding)
                self.webView!.loadHTMLString(contentPage! as String, baseURL: url)

            }
            task1.resume()

我使用以下代码设置 WKWebView 的“用户代理”标头。

当应用程序第一次加载时它运行良好,但只有在一个按钮被点击进入链接后,“User-Agent”才会改变。

如何防止“User-Agent”发生变化?

【问题讨论】:

    标签: swift nsurlsession nsurl wkwebview


    【解决方案1】:
    1. 对于 iOS 9,使用 web 视图上的 customUserAgent 属性。

    2. 对于 iOS 8 及更早版本,请改为:

      NSUserDefaults.standardUserDefaults().registerDefaults(["UserAgent" : "BlahBlahBlah"])

    【讨论】:

      【解决方案2】:

      我已经成功了。这是解决方案!

      视图控制器:

      override func viewDidAppear(animated: Bool) {
      
              let url = NSURL(string:"http://www.examplepage.com/")!
              webView!.loadRequest(NSURLRequest(URL: url))
              webView!.allowsBackForwardNavigationGestures = true     
          }
      

      AppDelegate:

      func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
      
          NSUserDefaults.standardUserDefaults().registerDefaults(["UserAgent": “YourUserAgent”])
      
          return true
          }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-05-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-10-30
        • 1970-01-01
        • 2020-02-14
        • 2019-07-20
        相关资源
        最近更新 更多