contentsof:url加载截断URL的url内容

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了contentsof:url加载截断URL的url内容相关的知识,希望对你有一定的参考价值。

当我使用contentsof:url时,它会在检索内容之前截断url,导致与WKWebView中显示的内容不同。

例如

contents = try String(contentsOf:https://www.amazon.com/gp/aw/d/B00BECJ4R8/ref=mp_s_a_1_1?ie=UTF8&qid=1531620716&sr=8-1-spons&pi=AC_SX236_SY340_QL65&keywords=cole+haan&psc=1

返回此页面的内容:https://www.amazon.com/gp/aw/d/B00BECJ4R8/

为什么会这样?是否有另一种方法可以让您读取实际URL的内容而不是截断的URL?

任何建议,如果非常感谢。

谢谢。

答案

你不应该使用String(contentsOf:)加载网站。您应该使用URL加载系统进行此工作,然后将该对象传递回webView.load(_:)中的viewDidLoad()方法

 let urlString = "https://www.amazon.com/dp/B00BECJ4R8/?tag=stackoverflow17-20"
 // URL construct may fail in case of the String not being a properly formatted URL, so unwrap it. 
 if let url = URL(string: urlString) { 
   // Create a URLRequest instance with the new url.
   let request = URLRequest(url: url) 
   // Load the request.  
   webView.load(request)
 }

以上是关于contentsof:url加载截断URL的url内容的主要内容,如果未能解决你的问题,请参考以下文章

NSData init?(contentsOf url: URL) 从 Swift 2 迁移到 Swift 3

如何在 WKWebView 上加载 URL?

从 URL 下载到本地存储的快速图像

在URL中使用另一个url作为参数时会被`&`截断的问题

使用 JQuery Linkify 插件时,如何截断 url?

无法调用非函数类型“URL”的值