【问题标题】:Change User-Agent更改用户代理
【发布时间】:2016-04-27 12:34:09
【问题描述】:

如何在我的 WebView 中更改 User-Agent 的默认字符串?

@IBOutlet weak var myWbView: UIWebView!
let myURL = NSURL(string: "http://http://web-example")
let myURLRequest:NSURLRequest = NSURLRequest(URL: myURL!)
myWbView.loadRequest(myURLRequest)

【问题讨论】:

  • 当我谷歌时,例如WebView change useragent swift我似乎得到了很多结果?
  • 结果很多,我不明白结果对我来说是什么

标签: ios swift user-agent nsurlrequest


【解决方案1】:

如果您想为将用于 Web 视图加载的请求设置 User-Agent HTTP 标头,

let userAgent = "Custom User Agent";
let myURL = NSURL(string: "http://http://web-example")
let myURLRequest:NSURLRequest = NSMutableURLRequest(URL: myURL!)
myWbView.loadRequest(myURLRequest)    
myURLRequest.setValue(userAgent, forHTTPHeaderField: "User-Agent")

如果您想为应用中的所有请求设置 User-Agent,请参阅此问题 How can I set the "User-Agent" header of a UIWebView in Swift

【讨论】:

  • 我认为您的代码不可用。请在发布前检查它。
  • @Alexander Tkachenko 您的代码不可用,但之前的链接对我来说是正确的,所以谢谢
  • 看来 UIWebView 实际上并没有让你以这种方式覆盖用户代理。 stackoverflow.com/a/20632315/1148843
  • 不可用!自定义用户代理始终被默认值覆盖。您可以在“webView.loadRequest”调用之后在 UIWebViewDelegate-Method: shouldStartLoadWith 中测试“allHTTPHeaderFields”。
【解决方案2】:

斯威夫特 4.2

您始终可以覆盖全局 UserAgent 字段,它可以解决您的问题:

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

【讨论】:

    【解决方案3】:

    其实,这很容易。为此,您应该使用NSMutableURLRequest,使用NSURL 对其进行初始化,并使用方法setValue:ForHTTPHeaderField: 设置任何用户代理值,其中字段为User-Agent,将其加载到Web 视图中。就是这样!祝你好运!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-12
      • 2013-08-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多