Swift 4和Alamofire - 没有获取所有HTML数据

时间:2017-12-02 11:57:21

标签: html alamofire swift4

我希望使用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;
&#13;
&#13;

该网站是:http://ib.xn--anml-noa.com/

我必须在URL中处理国际字符,并在我的Info.plist中添加例外以访问http请求。

为什么我没有获得所有数据? 用Java编写的相应程序获取所有数据。

0 个答案:

没有答案