curl使用

简介: curl使用

前言

使用 curl 工具


一、curl use case

常见参数项包括:

-i :显示响应头信息
-o :将请求结果写入到指定文件中
-s :静默模式,不显示额外信息
-w :指定输出内容格式

Simple Usage
Get the main page from a web-server (从Web服务器获取主页)

curl https://www.example.com/

在这里插入图片描述

Get a README file from an FTP server:(从FTP服务器获取自述文件)

curl ftp://ftp.example.com/README

Get a web page from a server using port 8000:(使用端口8000从服务器获取网页:)

curl http://www.example.com:8000/

Get a directory listing of an FTP site:

curl ftp://ftp.example.com/

Get the all terms matching curl from a dictionary:

curl dict://dict.example.com/m:curl

Get the definition of curl from a dictionary:

curl dict://dict.example.com/d:curl

Fetch two documents at once:

curl ftp://ftp.example.com/ http://www.example.com:8000/

Get a file off an FTPS server:

curl ftps://files.are.example.com/secrets.txt

or use the more appropriate FTPS way to get the same file:

curl --ftp-ssl ftp://files.are.example.com/secrets.txt

Get a file from an SSH server using SFTP:

curl -u username sftp://example.com/etc/issue

Get a file from an SSH server using SCP using a private key (not password-protected) to authenticate:

curl -u username: --key ~/.ssh/id_rsa scp://example.com/~/file.txt

Get a file from an SSH server using SCP using a private key (password-protected) to authenticate:

curl -u username: --key ~/.ssh/id_rsa --pass private_key_password
scp://example.com/~/file.txt

Get the main page from an IPv6 web server:

curl "http://[2001:1890:1112:1::20]/"

Get a file from an SMB server:

curl -u "domain\username:passwd" smb://server.example.com/share/file.txt

二、下载操作

Get a web page and store in a local file with a specific name:

curl -o thatpage.html http://www.example.com/

Get a web page and store in a local file, make the local file get the name of the remote document (if no file name part is specified in the URL, this will fail):

curl -O http://www.example.com/index.html

Fetch two files and store them with their remote names:

curl -O www.haxx.se/index.html -O curl.se/download.html

根据上面的例子,我找了一个可以下载zip文件的链接,尝试了一下,如下提示,下载失败了。
在这里插入图片描述
问下ChatGPT:

该错误通常表示curl无法验证服务器的合法性,因此无法建立安全连接。这可能是由于以下几个原因导致的:

证书验证失败:curl默认会验证服务器的SSL证书。如果服务器的证书无效、过期、自签名或与curl的信任根证书不匹配,就会导致验证失败。在这种情况下,curl会中止连接以防止潜在的安全风险。

解决方法:你可以尝试使用--insecure选项来禁用证书验证,但这会降低连接的安全性。例如:

shell
Copy
curl --insecure -O <文件链接>


请注意,在禁用证书验证时要格外小心,确保你了解与连接相关的潜在风险。

代理问题:如果你正在使用代理服务器,可能是代理服务器配置或证书问题导致验证失败。你可以尝试检查代理服务器的配置并确保证书有效。

解决方法:在curl命令中添加代理相关的选项,例如:

shell
Copy
curl -x <代理服务器地址:端口> -O <文件链接>

<代理服务器地址:端口>替换为你实际使用的代理服务器地址和端口。

网络连接问题:有时,网络连接问题可能会导致无法建立安全连接。

解决方法:确保你的网络连接正常,尝试重新运行curl命令。如果问题持续存在,可能需要排查网络问题或联系网络管理员。

我使用第一种方式:不验证证书,果然下载下来了。而且是下载到当前的工作文件夹。C:\Users\xxx\test.zip

在这里插入图片描述

如果自己想指定文件地址

curl --insecure -o Contacts/test.zip https://www.c-lodop.com/download/Lodop6.2NoteBook20230829.zip

确保 Contacts 这个文件夹存在,否则报错,并不会帮你生成该文件夹
在这里插入图片描述
在这里插入图片描述

参考链接: https://curl.se/docs/

相关文章
|
SQL JavaScript 关系型数据库
MySQL Shell 使用指南
MySQL Shell 是一个强大且灵活的工具,它扩展了 MySQL 客户端的功能,使得数据库管理和运维工作更加便捷高效。
1119 0
Linux CentOS 平台安装 rar unrar 命令
Linux CentOS 平台安装 rar unrar 命令
1650 0
|
7月前
|
XML 人工智能 数据可视化
ReasonGraph:别让AI成黑箱!这个开源工具把大模型的脑回路画给你看
ReasonGraph是一款开源的可视化分析工具,能将大语言模型的复杂推理过程转化为直观图表,支持50+主流模型和多种推理方法,帮助开发者快速理解AI思考逻辑并优化模型表现。
306 0
|
Nacos 微服务
Zookeeper 的 ZAB 协议 以及 zookeeper 与 nacos 注册中心比对
Zookeeper 的 ZAB 协议 以及 zookeeper 与 nacos 注册中心比对
306 4
|
10月前
|
应用服务中间件 定位技术 网络安全
理解住宅IP和运营商IP的不同应用场景
随着数字化时代的发展,网络安全与隐私保护成为核心需求,代理IP因其技术优势受到关注。本文介绍了住宅IP与运营商IP的区别,包括定义、使用场景、安全性、成本及地理位置等方面,帮助用户根据需求选择合适的IP类型。
227 8
|
人工智能 自然语言处理 IDE
手把手教你5种方法实现Java判断字符串是否为数字
5种方法实现Java判断字符串是否为数字
|
监控 数据挖掘 数据安全/隐私保护
ERP系统中的预算管理与控制
【7月更文挑战第25天】 ERP系统中的预算管理与控制
844 3
|
机器学习/深度学习 自然语言处理 图形学
CVPR 2024:文本一键转3D数字人骨骼动画,阿尔伯塔大学提出MoMask框架
【5月更文挑战第12天】CVPR 2024将展出阿尔伯塔大学的MoMask框架,该框架创新性地将文本转化为3D数字人骨骼动画,推动计算机图形学和动画制作的发展。MoMask结合NLP和计算机视觉,由文本编码器解析输入文本,动作生成器则将其转化为骨骼动画。该技术提升动画制作效率,降低门槛,但面临训练数据需求大和生成动画可能有偏差的挑战。[论文链接](https://arxiv.org/abs/2312.00063)
377 2
|
缓存 自然语言处理 Java
还在为字典值、枚举值校验烦恼吗,不妨试试这个
本文介绍了如何在Java中实现常量值校验的封装,主要包括两个方面:字典值类型的校验和枚举类型的校验。首先,作者提到在进行数据验证时,实体类字段需要添加`@Valid`注解。然后,对于字典值类型的校验,可以通过`@DictVaild`注解检查当前字段值是否在数据库中的字典值类别内,或者与预定义的枚举类中的值相匹配。在进行校验时,可以设置`dictType`参数为`DictType.CODE`或`DictType.LABEL`来分别验证代码值或标签值。
400 0
|
网络安全 API 数据安全/隐私保护
轻松掌握curl:命令行中的网络大杀器
轻松掌握curl:命令行中的网络大杀器
394 0