Curl【实例 01】curl下载使用及cmd实例脚本分享(通过请求下载文件)

这篇具有很好参考价值的文章主要介绍了Curl【实例 01】curl下载使用及cmd实例脚本分享(通过请求下载文件)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Curl 官方下载地址 可下载不同平台不同版本的安装包,本次使用的是Windows解压版本curl-8.0.1_9-win32-mingw.zip

1.是什么

1.1 curl

curl是一个开源的命令行工具和库,用于在终端和脚本中进行网络数据传输。它支持多种协议,如HTTP、HTTPS、FTP、SMTP等,可以通过URL进行数据传输和通信。

curl的功能非常强大,它可以执行各种操作,包括发送HTTP请求、下载文件、上传文件、进行身份验证、处理cookie等。它提供了丰富的选项和参数,可以灵活地配置请求和处理服务器响应。

通过curl,我们可以轻松地在命令行中执行各种网络操作,比如获取网页内容、测试API接口、下载文件等。同时,由于curl是一个非常常见和流行的工具,几乎在所有主流操作系统中都有可用的版本。

除了作为命令行工具,curl还提供了一个C语言库,可以在程序中嵌入和使用。这使得开发人员可以利用curl的功能和接口,编写自己的网络应用程序。

总而言之,curl是一个功能强大的命令行工具和库,用于在终端和脚本中进行网络数据传输和通信。它在各种场景下都是一个非常有用的工具,特别是在自动化测试、调试和开发过程中。

我们曾经用wget实现了网站数据的爬取,想必curl应该也是可以的。

1.2 bat和cmd

.bat和.cmd是Windows操作系统中常见的批处理脚本文件的扩展名。它们在功能上非常相似,但有一些区别。

  1. 执行方式:.bat文件通常由旧版本的Windows命令解释器(COMMAND.COM)执行,而.cmd文件通常由新版本的Windows命令解释器(CMD.EXE)执行。CMD.EXE提供了更多的功能和特性,因此.cmd文件更加灵活。

  2. 执行环境:.bat文件在Windows的实模式下运行,而.cmd文件在Windows的保护模式下运行。保护模式提供了更好的内存管理和系统资源支持。

  3. 可移植性:由于.bat文件是在旧版本的命令解释器下执行,它们的兼容性可能受到限制。相比之下,.cmd文件在更广泛的Windows系统上具有更好的兼容性。

  4. 命令扩展:.cmd文件支持更多的命令扩展,如IF EXIST、FOR /F等,而.bat文件可能不支持这些扩展。

  5. 脚本编写:由于.cmd文件支持更多的命令扩展和功能,因此它们提供了更强大的脚本编写能力。

总的来说,.cmd文件比.bat文件更加灵活和功能丰富,并提供更好的可移植性。如果你需要使用更多的命令扩展或希望在较新的Windows系统上运行脚本,建议使用.cmd扩展名。

2.常用命令

注意:以下命令未经验证。

2.1 发送GET请求并显示响应头信息

# 这个命令将向"https://api.example.com/users"发送一个HEAD请求,并显示服务器返回的响应头信息,而不包括响应体。
curl -I https://api.example.com/users

2.2 显示详细的请求和响应信息

# 使用"-v"选项,这个命令将显示完整的请求和响应信息,包括请求头、响应头和响应体。
curl -v https://api.example.com/users

2.3 限制重定向次数

# 通过"-L"选项,这个命令将跟随重定向,并使用"--max-redirs"选项限制重定向的次数为3次。
curl -L --max-redirs 3 https://example.com

2.4 带Json数据的Post请求发送

curl -X POST -H "Content-Type: application/json" -d '{"name": "John", "age": 25}' https://api.example.com/users

2.5 带文件的Post请求发送

curl -X POST -H "Content-Type: application/octet-stream" --data-binary @file.txt https://api.example.com/upload

2.6 使用代理服务器发送请求

# 通过"-x"选项,这个命令将使用名为"proxy.example.com"、端口为8080的代理服务器发送请求。
curl -x proxy.example.com:8080 https://api.example.com/users

2.7 下载文件并保存到指定路径

curl -o /path/to/save/file.zip https://example.com/file.zip

这些是一些常用的curl命令示例,小伙伴们可以根据具体需求和场景使用不同的选项和参数来定制curl的行为。记得查阅curl的官方文档以获取更多详细的选项和用法说明。

3.实例分享

3.1 直接下载

example1.cmd文件内容:

@echo off

cd

cd ./curl/bin
set /p exampleUrlHost=请输入服务的IP地址:
set /p exampleUrlPort=请输入服务的端口:

:start
echo **********************报告保存脚本**********************
echo 根据以下提示执行
echo 0 退出
echo 1 保存年度报告
echo 2 保存月度报告
echo 3 保存当天报告

set /p exampleUrlIndex=请输入要保存的结果序号:
if %exampleUrlIndex% == 1 (
set exampleUrlPath=/example/exampleYear
)
if %exampleUrlIndex% == 2 (
set exampleUrlPath=/example/exampleMonth
)
if %exampleUrlIndex% == 3 (
set exampleUrlPath=/example/exampleDay
)
if %exampleUrlIndex% == 0 (
exit
)

echo 正在保存...
curl http://%exampleUrlHost%:%exampleUrlPort%%exampleUrlPath%
echo 保存完成。

goto start

3.2 保存后复制

这里要注意的是,example2.cmd文件内容里的url虽然名称是相同的,但是并不是一样的接口,example1.cmd里的是直接保存文件,example2.cmd里边的是将文件写入到响应流内。

@echo off

cd
cd ./curl/bin

FOR /F "tokens=1-3 delims=/ " %%A IN ('DATE /T') DO SET exampleDate=%%A%%B%%C

set /p exampleUrlHost=请输入服务的IP地址:
set /p exampleUrlPort=请输入服务的端口:

:start
echo **********************报告保存脚本**********************
echo 根据以下提示执行
echo 0 退出
echo 1 保存年度报告
echo 2 保存月度报告
echo 3 保存当天报告

set /p exampleUrlIndex=请输入要保存的结果序号:
if %exampleUrlIndex% == 1 (
set exampleUrlPath=/example/exampleYear
set exampleFileType=年度报告
)
if %exampleUrlIndex% == 2 (
set exampleUrlPath=/example/exampleMonth
set exampleFileType=月度报告
)
if %exampleUrlIndex% == 3 (
set exampleUrlPath=/example/exampleDay
set exampleFileType=当天报告
)
if %exampleUrlIndex% == 0 (
exit
)

for /F "tokens=1-3 delims=:." %%A in ("%TIME%") do (
    set "hour=%%A"
    set "minute=%%B"
    set "second=%%C"
)

set /A "time_in_seconds=hour*3600 + minute*60 + second"

echo 正在导出...
curl http://%exampleUrlHost%:%exampleUrlPort%%exampleUrlPath% --output ../../reportFile/%exampleFileType%(%exampleDate%)%time_in_seconds%.xlsx
echo 导出完成。

goto start

3.3 实际演示图

目录结构是这样的:

Curl【实例 01】curl下载使用及cmd实例脚本分享(通过请求下载文件)

# 代码里的 cd ./curl/bin 就是为了使用 curl 命令
cd ./curl/bin

example1的执行界面:

Curl【实例 01】curl下载使用及cmd实例脚本分享(通过请求下载文件)
example2的执行界面:

Curl【实例 01】curl下载使用及cmd实例脚本分享(通过请求下载文件)文章来源地址https://www.toymoban.com/news/detail-464718.html

到了这里,关于Curl【实例 01】curl下载使用及cmd实例脚本分享(通过请求下载文件)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • x-cmd pkg | curl - 极其强大的网络请求处理工具

    curl(Client for URLs)是一款网络请求工具。 curl 于 1996 年首次发布。它最初被命名为 httpget 后更名为curl。 curl 常用于发送网络请求,它支持多种网络协议。例如:HTTP、HTTPS、FTP等。 使用 x curl 即可自动下载并使用 在终端运行 eval \\\"$(wget -O- https://get.x-cmd.com)\\\" 即可完成 x 命令安装

    2024年01月22日
    浏览(37)
  • 使用cURL和wget在Linux上进行HTTP请求和下载

    在Linux上,cURL和wget是两个常用的命令行工具,用于发送HTTP请求和下载文件。下面我将详细介绍如何使用这两个工具进行HTTP请求和下载操作。 首先,让我们了解一下cURL。cURL是一个功能强大的命令行工具,可以用来发送各种类型的HTTP请求,如GET、POST等。它还可以设置请求头

    2024年01月17日
    浏览(33)
  • linux下下载文件的常用命令wget,curl等使用方法及使用示例

    在 Linux 操作系统中,有许多下载文件的工具可供选择。这些工具包括命令行工具和图形界面工具,每个工具都有其自身的特点和用途。以下是一些常用的下载文件工具: wget :一个功能强大的命令行下载工具,支持 HTTP、HTTPS、FTP 等协议,能够断点续传、递归下载等。 curl :

    2024年04月17日
    浏览(65)
  • py脚本curl报错解决方法curl: (1) Received HTTP/0.9 when not allowed

    最近博主做一个项目,发现请求从PHP的句柄请求py脚本,老是获取不到返回数据。 所以,我直接去服务器采用curl访问,结果就报错curl: (1) Received HTTP/0.9 when not allowed 一开始我以为是我php的句柄方法中的问题,但是我用其访问另外其它系统对接的curl接口,并没有报错。 也以为

    2024年02月16日
    浏览(28)
  • 云计算(五)—— OpenStack基础环境配置与API使用,使用cURL命令获取实例列表,理解OpenStack的身份认证和API请求流程。使用openstack命令创建Fedora虚拟机实例

    使用cURL命令获取实例列表 理解OpenStack的身份认证和API请求流程。 (1)复习OpenStack的认证与API请求流程的相关内容。 (2)熟悉cURL命令基本用法。 参照任务二中任务实现进行操作。 若demo用户已修改密码,则需要先把/root/keystonerc_demo文件中的password修改为你修改的密码 。 (

    2024年04月26日
    浏览(79)
  • curl(七)上传和下载

    一  上传 ①  -T | --upload 上传 二  下载相关 ①   --limit-rate ②   -R | --remote-time   ③  -C | --continue-at 测试服务器是否支持断点续传 ④    --retry   ⑤   --create-dirs   ⑥   -# ⑦  -r ⑧  保存       ⑨  -s 静默   ⑩  展示和错误

    2024年02月05日
    浏览(40)
  • Linux curl 命令下载文件

    ​ 在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具。它支持文件的上传和下载,是综合传输工具,但按传统,习惯称curl为下载工具。 语法: 常见参数: 1、基本用法 执行后,www.linux.com 的html就会显示在屏幕上了 Ps:由于

    2024年02月15日
    浏览(36)
  • shell脚本获取curl POST命令返回的http状态码

     在shell脚本中判断curl 发的post命令执行返回的http状态码,从而判断POST命令执行成功还是失败 有两种方法 status_code=`curl -s -o /dev/null -w \\\"%{http_code}\\\" -X POST \\\"http://xxx\\\"` 注意上述命令两边的符号 ``,是键盘上数字1左边的字符 status_code=$(curl -s -o /dev/null -w \\\"%{http_code}\\\" -X POST \\\"http://xxx

    2024年02月12日
    浏览(31)
  • 如何通过curl方式进行ElasticSearch增删改查

    点击上方蓝字关注我 关于ElasticSearch增删改查的方法有很多,使用curl操作命令总结如下,如有需要可以点击收藏。 1. ElasticSearch新增数据 如果进行一个类似于SQL的 insert的操作 具体示例如下: 上面的命令使用HTTP POST方法向名为\\\"users\\\"的索引中添加一条文档,文档包含\\\"name\\\"、

    2024年02月14日
    浏览(32)
  • curl 实现 https、ftp下载文件 代码

    cURL 是一个网络数据传输项目,通常说 cURL 是指 curl 命令行工具,它支持 DICT、FILE、FTP、FTPS、Gopher、HTTP、HTTPS、IMAP、IMAPS、LDAP、LDAPS、POP3、POP3S、RTMP、RTSP、SCP、SFTP、SMB、SMBS、SMTP、SMTPS、Telnet 与 TFTP 等协议,而 curl 的底层使用的是 libcurl 库,libcurl 与 curl 组成了 cURL 项目。

    2024年02月06日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包