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/

相关文章
|
XML 人工智能 数据可视化
ReasonGraph:别让AI成黑箱!这个开源工具把大模型的脑回路画给你看
ReasonGraph是一款开源的可视化分析工具,能将大语言模型的复杂推理过程转化为直观图表,支持50+主流模型和多种推理方法,帮助开发者快速理解AI思考逻辑并优化模型表现。
899 0
|
监控 Kubernetes Cloud Native
基于阿里云容器服务Kubernetes版(ACK)的微服务架构设计与实践
本文介绍了如何基于阿里云容器服务Kubernetes版(ACK)设计和实现微服务架构。首先概述了微服务架构的优势与挑战,如模块化、可扩展性及技术多样性。接着详细描述了ACK的核心功能,包括集群管理、应用管理、网络与安全、监控与日志等。在设计基于ACK的微服务架构时,需考虑服务拆分、通信、发现与负载均衡、配置管理、监控与日志以及CI/CD等方面。通过一个电商应用案例,展示了用户服务、商品服务、订单服务和支付服务的具体部署步骤。最后总结了ACK为微服务架构提供的强大支持,帮助应对各种挑战,构建高效可靠的云原生应用。
|
小程序 JavaScript 前端开发
微信小程序(十七)小程序监听返回键跳转事件(安卓返回也适用)
onUnload:function(){ wx.redirectTo({ url: '../index/index' }) wx.navigateTo({ url: '../index/index' }) wx.switchTab({ url: '../../member/member' }) }
1983 0
|
SQL 微服务
成功解决 :status 500 reading CouponFeignService#saveSpuBounds(SpuBoundTo)
这篇文章讲述了作者在微服务项目开发中遇到的一个具体问题:使用Feign进行远程服务调用时出现了`status 500`错误。文章详细描述了排查过程,包括检查Feign配置和被调用服务的日志信息,最终确定问题是由于Lombok插件的`@Data`注解导致。作者通过将`@Data`注解注释掉并手动生成get、set方法解决了问题,并提供了成功调用远程服务后的截图。
成功解决 :status 500 reading CouponFeignService#saveSpuBounds(SpuBoundTo)
|
机器学习/深度学习 自然语言处理 图形学
CVPR 2024:文本一键转3D数字人骨骼动画,阿尔伯塔大学提出MoMask框架
【5月更文挑战第12天】CVPR 2024将展出阿尔伯塔大学的MoMask框架,该框架创新性地将文本转化为3D数字人骨骼动画,推动计算机图形学和动画制作的发展。MoMask结合NLP和计算机视觉,由文本编码器解析输入文本,动作生成器则将其转化为骨骼动画。该技术提升动画制作效率,降低门槛,但面临训练数据需求大和生成动画可能有偏差的挑战。[论文链接](https://arxiv.org/abs/2312.00063)
569 2
|
机器学习/深度学习 人工智能 网络协议
人工智能平台PAI操作报错合集之报错 "curl: (35) TCP connection reset by peer" 表示什么
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。
|
Kubernetes Cloud Native Devops
【阿里云云原生专栏】DevOps与云原生的融合:阿里云CI/CD流水线最佳实践
【5月更文挑战第23天】阿里云融合DevOps与云原生技术,提供高效CI/CD解决方案,助力企业提升研发效能。通过云效平台,集成代码管理、构建服务、容器服务、持续部署及监控日志组件,实现自动化研发流程。案例中,应用从GitHub构建到Kubernetes部署,全程无缝衔接。借助阿里云,企业能快速构建适应云原生的DevOps体系,以应对复杂需求和提升市场竞争力。
696 1
System.currentTimeMillis()方法总结
System.currentTimeMillis()方法总结
2928 0