我想知道是否可以执行ls
的网址,因此我可以看到网站中有哪些* .js文件可用。类似的东西:
wget --list-files -A.js stackoverflow.com
并获取
ajax/libs/jquery/1.7.1/jquery.min.js
js/full.js
js/stub.js
...
答案 0 :(得分:5)
除非服务器本身提供此类列表,否则您无法执行等效的ls
。但是,您可以检索index.html
,然后检查包含内容,例如
wget -O - http://www.example.com | grep "type=.\?text/javascript.\?"
请注意,这依赖于以某种方式格式化的HTML - 例如,在各个行中使用包含。如果你想正确地做到这一点,我建议解析HTML并提取包含这种方式的javascript。
答案 1 :(得分:1)
让我们将此打开目录(http://tug.ctan.org/macros/latex2e/required/amscls/)视为我们的实验对象。该目录属于the Comprehensive TeX Archive Network,因此不必担心下载恶意文件。
现在,让我们假设我们要列出所有扩展名为pdf
的文件。我们可以通过执行以下命令来做到这一点。
下面显示的命令会将wget
的输出保存在文件main.log
中。因为wget
发送每个文件的请求,并打印有关该请求的信息,所以我们可以grep
的输出来获取属于指定目录的文件列表。
wget \
--accept '*.pdf' \
--reject-regex '/\?C=[A-Z];O=[A-Z]$' \
--execute robots=off \
--recursive \
--level=0 \
--no-parent \
--spider \
'http://tug.ctan.org/macros/latex2e/required/amscls/doc/' 2>&1 | tee main.log
现在,我们可以使用pdf
列出扩展名为grep
的文件。
grep '^--' main.log
--2020-11-23 10:39:46-- http://tug.ctan.org/macros/latex2e/required/amscls/doc/
--2020-11-23 10:39:47-- http://tug.ctan.org/macros/latex2e/required/amscls/doc/
--2020-11-23 10:39:47-- http://tug.ctan.org/macros/latex2e/required/amscls/doc/amsbooka.pdf
--2020-11-23 10:39:47-- http://tug.ctan.org/macros/latex2e/required/amscls/doc/amsclass.pdf
--2020-11-23 10:39:47-- http://tug.ctan.org/macros/latex2e/required/amscls/doc/amsdtx.pdf
--2020-11-23 10:39:47-- http://tug.ctan.org/macros/latex2e/required/amscls/doc/amsmidx.pdf
--2020-11-23 10:39:48-- http://tug.ctan.org/macros/latex2e/required/amscls/doc/amsthdoc.pdf
--2020-11-23 10:39:48-- http://tug.ctan.org/macros/latex2e/required/amscls/doc/thmtest.pdf
--2020-11-23 10:39:48-- http://tug.ctan.org/macros/latex2e/required/amscls/doc/upref.pdf
请注意,我们还可以获取目录中所有文件的列表,然后在命令的输出上执行grep
。但是,这样做显然要花费更多时间,因为显然每个文件都发送了一个请求。通过使用--accept
,我们可以使wget
仅对我们感兴趣的文件发送请求。
最后但并非最不重要的是,文件的大小保存在文件main.log
中,因此您可以检查该文件中的信息。