ios - 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
用来展示网站。
解决方案
可能重复:
如何在 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
推荐阅读
- reactjs - 材料 ui TextField 在 React 中不可编辑
- javascript - 我收到错误无效的挂钩调用。Hooks 只能在函数组件的主体内部调用
- python - 在 pyspark 中导入 java.net.InetAddress 错误
- c# - 检查目录结构
- javascript - 如何将多个 HTML 多选选项值保存到本地存储中?
- reactjs - 如何在不提交的情况下获得输入 onchange 结果?
- reactjs - React Material UI,卡片间距问题
- react-native - Expo 未在 App.json 中读取 googleMobileAdsAppId
- amazon-web-services - 提供者 provider.aws 不支持资源类型“aws_appconfig_application”
- service - 允许跨子网进行 IP 发现的服务