使用 ruby 从 http 位置获取文件列表(按上次上传日期排序的数组)



需要以下方面的帮助。

我有一个HTTP页面,它代表一个包含文件的远程文件夹:

https://example.com
|/share
|-/builds
|--file1.tar.gz
|--file2.tar.gz
|--file3.tar.gz

我正在尝试以下方法来获取文件夹内容,但它不返回任何内容:

#!/usr/bin/env ruby
result = `curl -s https://example.com/share/builds --list-only | sed -n 's%.*href="([^.]*.tar.gz)".*%n1%; ta; b; :a; s%.*n%%; p'`
puts result

您能否让我知道这里遗漏了什么,如果您可以提供一些替代方法来获取文件列表,那就太好了。

您需要从索引页 HTML 中提取链接。

尝试这样的事情:

require 'open-uri'
require 'nokogiri'
index_html = open('https://example.com/share/builds').read
index_dom = Nokogiri::HTML.parse index_html
links = index_dom.css('a').each { |link|
puts "#{link['href']} #{link.text}"
}

最新更新