我如何在Swift中设置UIWebView的“User-Agent”标题

我正在使用Swift的iOS应用程序的Xcode 6。 我有一个embedded式UIWebView的简单的ViewController。 你可以find下面的代码。 现在我想更改User-Agent HTTP标头。 我试图使用NSURLRequestsetValue方法,但它不起作用(请参阅未注释的行)。 有谁知道这是怎么做到的吗?

 import UIKit class WebViewController: UIViewController { @IBOutlet weak var webView: UIWebView! override func viewDidAppear(animated: Bool) { var url = NSURL(string: "https://www.samplepage.com") var request = NSMutableURLRequest(URL: url) // request.setValue("Custom-Agent", forHTTPHeaderField: "User-Agent") webView.loadRequest(request) } } 

这将改变通过“正常”堆栈进行的任何调用的代理。

Swift 2:

 NSUserDefaults.standardUserDefaults().registerDefaults(["UserAgent": "Custom-Agent"]) 

Swift 3:

 UserDefaults.standard.register(defaults: ["UserAgent": "custom value"]) 

如果您想附加到现有的用户代理string(对于帮助适应用户代理的dynamic网页很有用),那么您可以使用以下内容。

 let userAgent = UIWebView().stringByEvaluatingJavaScriptFromString("navigator.userAgent")! + " Custom-Agent" NSUserDefaults.standardUserDefaults().registerDefaults(["UserAgent" : userAgent])