从 UrL 下载文本

Posted

技术标签:

【中文标题】从 UrL 下载文本【英文标题】:Downloading Text From UrL 【发布时间】:2018-04-27 17:00:10 【问题描述】:

所以我有一个 url 链接,其中包含我想在我的应用程序中显示的内容的文本文件。但是我很难将它下载到我的应用程序中。我试图在该位置获取文本的代码目前看起来像这样

   @objc func grabTextFile()
        let messageURL = URL(string: urlString)
        let sharedSession = URLSession.shared
        let downloadTask: URLSessionDownloadTask = sharedSession.downloadTask(with: messageURL!,completionHandler: 
        (location: URL!, response: URLResponse!, error: NSError!) -> Void in
            var urlContents = ""
            do
                urlContents = try String(contentsOf: location, encoding: String.Encoding.utf8)
            catch 
                urlContents =  ""
            
        print(urlContents) as! (URL?, URLResponse?, Error?) -> Void)
        downloadTask.resume()
    

消息网址是这个链接

var urlString = "18.218.88.192:8080/ActiveHoneypotWeb/logfiles/159.65.139.103-0-commands.txt"

由于某种原因,它每次都会崩溃。 谁能帮帮我?

【问题讨论】:

【参考方案1】:

您对! 的滥用给您带来了很多问题。但问题的最终原因是 18.218.88.192:8080/ActiveHoneypotWeb/logfiles/159.65.139.103-0-commands.txt 不是有效的 URL。没有方案。根据需要在 URL 的开头添加http://https://

这是您的代码的编写方式。这会正确检查错误和 nil 值。

@objc func grabTextFile()
    if let messageURL = URL(string: urlString) 
        let sharedSession = URLSession.shared
        let downloadTask = sharedSession.downloadTask(with: messageURL)  (location, response, error) in
            var urlContents = ""
            if let location = location 
                do
                    urlContents = try String(contentsOf: location, encoding: String.Encoding.utf8)
                catch 
                    print("Couldn't load string from \(location)")
                
             else if let error = error 
                print("Unable to load data: \(error)")
            
        
        downloadTask.resume()
     else 
        print("\(urlString) isn't a valid URL")
    

【讨论】:

我改了,还是不行,你能帮我看看我的函数的语法吗

以上是关于从 UrL 下载文本的主要内容,如果未能解决你的问题,请参考以下文章

用PDFMiner从PDF中提取文本文字

多行文本文本输入框 textarea 可点击任意地方编辑

我用换行符替换所有标签`<br>`

Swift:由字符串分隔的组件

QT中怎样读取中文文本文件!

如何将文本文档批量拆分为变量