curl 与 wget 的使用:
1.下载文件
#O大写,不用O只是打印内容不会下载
#不用参数,直接下载文件
2.下载文件并重命名
- curl -o rename.iso http://man.linuxde.net/text.iso
wget -O rename.zip http://www.linuxde.net/text.iso
#o小写
#O大写
3.断点续传
- curl -O -C -URL http://man.linuxde.net/text.iso
wget -c http://www.linuxde.net/text.iso
#C大写
#c小写
4.限速下载
- curl —limit-rate 50k -O http://man.linuxde.net/text.iso
wget —limit-rate=50k http://www.linuxde.net/text.iso
5.显示响应头部信息
curl -I http://man.linuxde.net/text.iso
wget —server-response http://www.linuxde.net/test.iso
# i要大写
6.wget利器—打包下载网站
- wget —mirror -p —convert-links -P /var/www/html http://man.linuxde.net/
【wget】选项说明
-b:后台下载模式。-c:继续执行之前中断的下载任务。-i:从文件读取要下载的 URL 列表。-r:递归下载模式,用于下载整个网站。-l depth:递归下载时的最大递归深度。-A:接受的文件列表,用逗号分隔。-R:拒绝的文件列表,用逗号分隔。-p:下载所有为 HTML 页面显示正常所需的元素。-E:将所有的 HTML 文件保存为 .html 文件。-k:转换链接,使下载的网页可以离线查看。-K:在转换文件之前备份原始文件。-m:镜像模式,等同于 -r -N -l inf --no-remove-listing。-N:仅当远程文件较新时才下载文件。-S:显示服务器响应。-T seconds:设置读取超时时间。-O:将文件保存到指定的文件名。-o:将日志消息写入指定的文件。-q:静默模式,不输出任何东西。-v:详细模式,提供更多信息。-h:显示帮助信息并退出。-V:显示版本信息并退出。-nv:非冗长模式,关闭冗长模式,但保留一些基本信息。只显示错误和基本的信息,不会显示下载的进度条等详细信息。
【curl】选项说明
示例:curl -fsSL https://ollama.com/install.sh | OLLAMA_VERSION=0.3.14 sh以上:下载一个脚本,并通过管道(`|`)将这个脚本的内容直接传递给 sh 命令来执行。这意味着 install.sh 脚本将被立即执行。想将 install.sh 下载并保存到当前目录中,可以使用:curl -fsSL https://xxx.com/aa.sh > aa.sh-f 或 --fail:让 curl 在 HTTP 请求失败时直接退出,不显示错误页面。-s 或 --silent:使 curl 在运行时不显示进度条和错误信息,保持输出的干净。-S 或 --show-error:与 -s 选项一起使用时,即使是在静默模式下,也显示错误信息。-L 或 --location:如果服务器返回的是一个重定向(3xx 状态码),则自动跟随新的 URL。
举例:
sudo -v && wget -nv -O- https://download.calibre-ebook.com/linux-installer.py | sudo python -c "import sys; main=lambda:sys.stderr.write('Download failed\n'); exec(sys.stdin.read()); main()"以上说明:【-O-】这个选项指定了输出文件的名称。在这里,- 表示标准输出(通常是终端或控制台)。这意味着 wget 将下载的数据直接输出到标准输出,而不是保存到磁盘文件中。这常用于将 wget 的输出通过管道传输给另一个命令。【|】这是一个管道符号,它将前一个命令的标准输出作为后一个命令的标准输入。【python -c】:这个选项让 Python 解释器执行一段给定的命令字符串:"import sys; main=lambda:sys.stderr.write('Download failed\n'); exec(sys.stdin.read()); main()":这是传递给 Python 解释器的命令字符串,它执行以下操作:【import sys】:导入 Python 的系统模块,以便使用系统功能,如标准输入和标准错误输出。main=lambda:sys.stderr.write('Download failed\n'):定义一个名为 main 的函数,当调用时,它会向标准错误输出写入 “Download failed\n”。exec(sys.stdin.read()):执行从标准输入(即 wget 命令的输出)读取的代码。这里,它将执行下载的 Python 脚本。main():调用前面定义的 main 函数。这个调用实际上是作为安全措施,以防下载的脚本没有成功执行。如果脚本执行成功,通常不会看到 “Download failed” 消息。
接口请求
curl -X POST http://example.com/api -H "Content-Type: application/json" -H "Authorization: Bearer your_token" -d '{"key1":"value1", "key2":"value2"}'
