You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用curl/wget获取文件服务器上50个文件的绝对URL列表?

解决方案

方法1:使用wget蜘蛛模式(推荐)

利用wget的蜘蛛模式仅爬取链接不下载文件,结合日志提取目标URL:

# 爬取目录链接并输出日志到文件(不下载文件)
wget --spider -r -np -nd -o wget_log.txt http://fileserver1.com/sec-test/compressed/mango/exe/small/

参数说明:

  • --spider:启用蜘蛛模式,仅遍历链接不下载资源
  • -r:递归爬取目录下的所有文件链接
  • -np:禁止爬取父目录,避免超出目标路径
  • -nd:不创建本地目录结构,简化日志内容
  • -o wget_log.txt:将爬取日志输出到指定文件

从日志中提取.exe文件的绝对URL,并截取前50条保存到测试列表:

grep -E '^--.*http.*\.exe$' wget_log.txt | awk '{print $3}' | head -50 > test_urls.txt

方法2:使用curl解析目录页面

如果服务器以HTML列表形式展示文件,可直接获取页面源码并提取链接:

curl -s http://fileserver1.com/sec-test/compressed/mango/exe/small/ | grep -E 'href=".*\.exe"' | sed 's/href="//;s/"//' | awk '{print "http://fileserver1.com/sec-test/compressed/mango/exe/small/"$0}' | head -50 > test_urls.txt

参数说明:

  • -s:静默模式,不显示curl的进度信息
  • grep筛选出包含.exe的链接标签
  • sed移除链接标签的href="和闭合引号,提取相对路径
  • awk拼接相对路径与服务器根路径,生成绝对URL
  • head截取前50条结果保存到文件

验证结果

查看生成的测试列表:

cat test_urls.txt

输出示例:

http://fileserver1.com/sec-test/compressed/mango/exe/small/1.exe
http://fileserver1.com/sec-test/compressed/mango/exe/small/2.exe
...(共50条符合要求的URL)

内容的提问来源于stack exchange,提问作者deep

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 00:09:52