首页 > 解决方案 > Swift iOS 如何获取桌面版 URL 响应

问题描述

我想在 iOS 设备中获取桌面版 URL 响应。但我总是得到移动版本的 URL 响应。这是我的代码:

var request = URLRequest(url: URL(string: "https://www.youtube.com")!)
request.addValue("Chrome Safari", forHTTPHeaderField: "User-Agent")
let session = URLSession.init(configuration: URLSessionConfiguration.default)
let task = session.dataTask(with: request) { (data, response, error) in
    if let data = data, let str = String(data: data, encoding: .utf8) {
        print(str)
    }
}
task.resume()

该代码将获得移动版本响应。如何获得桌面版 URL 响应?

我想获取og桌面响应的信息,而不是WKWebView用来展示网站。

标签: iosswifturldesktop

解决方案


可能重复:

如何在 Swift 3.0 中使用 UIWebView 请求网页的桌面版本?

回答:

您可以使用 WKWebViewcustomUserAgent属性来获取网页的桌面版本:

https://developer.apple.com/documentation/webkit/wkwebview/1414950-customuseragent

webview.customUserAgent = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.109 Safari/537.36"

当然,您需要修改 web-browser 版本才能获得实际响应:

Mozilla Firefox:
https ://www.mozilla.org/en-US/firefox/releases/

谷歌浏览器:
https ://www.whatismybrowser.com/guides/the-latest-version/chrome

苹果 Safari:
https ://developer.apple.com/documentation/safari-release-notes

https://www.whatismybrowser.com/guides/the-latest-version/safari


推荐阅读