我希望使用Alamofire和Kanna从网站上阅读和删除HTML数据。 我正在阅读成功,我正在获取HTML数据,但没有来自该网站的所有数据。 我是Alamofire的新手,我尝试了几种获取数据的方法,但总是以一部分网站数据结束。查看网站的来源,它有更多的数据,没有特殊的ajax或其他背景调用。
使用2种不同的方式获取数据的代码 - 结果相同。
import Foundation
import Alamofire
class NetworkProxy {
func readIbAnmalData () {
let url = "http://ib.anmäl.com"
let safeURL = url.addingPercentEncoding(withAllowedCharacters:NSCharacterSet.urlQueryAllowed)!
readAndParseHtml(url: safeURL)
}
// send request and return response data as string
func getResponseString (url: String) {
Alamofire.request(url).responseString { response in
print("Request: \(String(describing: response.request))") // original url request
print("Response: \(String(describing: response.response))") // http url response
debugPrint("Result: \(response.result)") // response serialization result
if let data = response.data, let utf8Text = String(data: data, encoding: .utf8) {
print("Data: \(utf8Text)") // original server data as UTF8 string
}
}
}
func readAndParseHtml(url:String) {
Alamofire.request(url).responseString { response in
print("SUCCESS: \(response.result.isSuccess)")
if let html = response.result.value {
self.parseHTML(html: html)
}
}
}
func parseHTML(html:String) {
print("HTML: \(html)")
}
}
我得到的结果是:
<html>
<head>
<title></title>
</head>
<body background="back3.png">
<br>
<br>
<br>
<center><img src="larsgarden.png"></center>
</body>
</html>
&#13;
该网站是:http://ib.xn--anml-noa.com/
我必须在URL中处理国际字符,并在我的Info.plist
中添加例外以访问http请求。
为什么我没有获得所有数据? 用Java编写的相应程序获取所有数据。