gpt4 book ai didi

swift - 如何使用 Steam swift 获取 url 的 html?

转载 作者:行者123 更新时间:2023-12-04 01:14:47 28 4
gpt4 key购买 nike

在我的一条 route ,我想从不同的站点获取 HTML。 https://docs.vapor.codes/4.0/content/ 文档支持 JSON 等,但我在原始 HTML 上找不到任何内容。

request.client.get(URI(string: "https://example.com/")).map { (response: ClientResponse) -> String? in
if response.status == .ok && response.content.contentType == .html {
return response.content... // How do I get raw html?
}

return nil
}
如何从客户端响应中获取原始 HTML?

最佳答案

有几种方法可以做到这一点,这取决于您碰巧喜欢哪个 String 初始化程序。请注意,要使用以下任何方法,您需要先解开响应正文:

guard let body = response.body else {
throw Abort(.internalServerError)
}
第一种方法是使用 ByteBuffer.readString 方法。
guard let html = body.readString(length: body.readableBytes) else {
throw Abort(.internalServerError)
}
另一种方法是使用 String(decoding:as:) 初始值设定项,它可用于将任何 UInt8 整数集合转换为 String :
let html = String(decoding: body.readableBytesView, as: UTF8.self)
最后,您可以使用@iMike 建议的 String(buffer:) 初始值设定项。
let html = String(buffer: body)
请记住, .readBytes 方法将增加 .readIndexByteBuffer ,而 String 初始值设定项不会。尽管我认为这对您来说并不重要。

关于swift - 如何使用 Steam swift 获取 url 的 html?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63703383/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com