OS X Webview用户代理无法更改

时间:2015-10-19 07:51:32

标签: macos swift webview safari user-agent

我想制作一个显示网站的小应用程序(所以我可以打开te app并使用该网站)。该网站仅允许来自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)

1 个答案:

答案 0 :(得分:0)

使用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