将网页服务保存为本地文档
本文最后更新于 378 天前,其中的信息可能已经有所发展或是发生改变。

要使用 curl命令下载某个 IP 地址(如 192.168.1.1)上 Web 服务后的所有文件,您需要递归下载整个网站。以下是具体步骤和命令:


1. ​​基本递归下载命令​​

curl -r -l -L -k -O -J --create-dirs "http://192.168.1.1/[path]"
  • ​​-r​​:递归下载(需配合其他工具,纯 curl递归功能有限)。
  • ​​-l​​:仅递归到相对链接(避免下载外部链接)。
  • ​​-L​​:跟随重定向。
  • ​​-k​​:忽略 SSL 证书错误(如果服务使用 HTTPS)。
  • ​​-O -J​​:根据服务器返回的文件名保存。
  • ​​--create-dirs​​:按 URL 路径创建本地目录。

2. ​​推荐:结合 wget(更强大的递归下载)​​

curl的递归功能较弱,建议使用 wget:

wget -r -l 10 -k -p -np --user-agent="Mozilla/5.0" http://192.168.1.1/
  • ​​-r​​:递归下载。
  • ​​-l 10​​:递归深度(10 层)。
  • ​​-k​​:转换链接以便本地浏览。
  • ​​-p​​:下载所有页面资源(图片/CSS/JS)。
  • ​​-np​​:不下载父目录。
  • ​​--user-agent​​:模拟浏览器访问。

3. ​​仅下载特定文件类型(如 PDF/ZIP)​​

curl -s http://192.168.1.1/ | grep -o 'href="[^"]*\.pdf"' | sed 's/href="//;s/"$//' | xargs -I{} curl -O "http://192.168.1.1/{}"
  • 先解析页面中的 PDF 链接,再逐个下载(替换 .pdf为其他扩展名)。

4. ​​容器/权限问题​​

如果遇到权限错误(如之前的 ping问题),请确保:

  • 在宿主机上运行命令(非容器内)。
  • 或为容器添加网络权限: docker run --cap-add=NET_ADMIN --cap-add=NET_RAW [image]

注意事项:

  1. ​​合法性与权限​​:确保您有权下载目标服务器内容。
  2. ​​避免压垮服务​​:递归下载可能对服务器造成高负载,谨慎使用。
  3. ​​路径指定​​:如果文件在特定路径(如 /downloads/),替换命令中的 [path]。
  4. ​​替代方案​​:大型网站建议使用专业工具(如 httrack)。

​​示例完整命令​​:下载 http://192.168.1.1/docs/下的所有文件:

wget -r -l 5 -k -p -np http://192.168.1.1/docs/
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇