【问题标题】:OS X Webview user agent won't changeOS X Webview 用户代理不会改变
【发布时间】:2015-10-19 07:51:32
【问题描述】:

我想制作一个显示网站的小应用程序(这样我就可以打开应用程序并使用该网站)。该网站只允许来自 Safari/Chrome 的连接,这就是用户代理的原因

我使用这些行来更改我的 webview 的用户代理

let userAgent = " Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.52 Safari/537.36"
NSUserDefaults.standardUserDefaults().registerDefaults(["UserAgent" : userAgent])

print(NSUserDefaults.standardUserDefaults().stringForKey("UserAgent"))

    print(wapView.stringByEvaluatingJavaScriptFromString("navigator.userAgent"))

然后控制台打印:

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.52 Safari/537.36
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11) AppleWebKit/601.1.56 (KHTML, like Gecko)

网站打不开。我不知道为什么它不会改变。有什么建议么? 我使用这些行来创建请求:

let uUrl = NSURL(string: "https://www.websiteUrl.com")
let reqq = NSMutableURLRequest(URL: uUrl!)

self.webView.mainFrame.loadRequest(reqq)

【问题讨论】:

    标签: macos swift webview safari user-agent


    【解决方案1】:

    使用 swift 更改自定义 webview 的用户代理

    // Remember to import proper library for webview
    import WebKit
    
    // create url string for webview
    let url = NSURL(string: "https://messenger.yahoo.com") //url of your choice
    let request = NSURLRequest(URL: url!)
    
    // the user agent of your choice, in this case safari 7.0.3
    let customUserAgent = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.75.14 (KHTML, like Gecko) Version/7.0.3 Safari/7046A194A"
    
    // this will set the user agent for your webview
    webView.applicationNameForUserAgent = customUserAgent
    webView.mainFrame.loadRequest(request)
    

    完整的用户代理列表见本网站http://www.useragentstring.com/pages/useragentstring.php

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多