当前位置: 首页 > news >正文

ubuntu--curl

curl

uri和url

URI(Uniform Resource Identifier,统一资源标识符)和 URL(Uniform Resource Locator,统一资源定位符)是互联网中用于标识和定位资源的两个关键概念。它们的关系可以用一个简单的公式表示:

URI = URL + URN
(但 URN 在实际中很少使用,因此通常 URL 是 URI 的子集

URI(统一资源标识符)

定义

URI 是一个广义的资源标识符,用于唯一标识某个资源(如网页、图片、API 接口等)。它可以是:

  • URL(资源的地址,如 https://example.com

  • URN(资源的名称,如 urn:isbn:0451450523,但现实中很少用)

URI 示例

https://example.com:8080/path/to/file?query=value#frag
mailto:user@example.com
ftp://user:pass@ftp.example.com

URL(统一资源定位符)

定义

URL 是 URI 的子集,专门用于定位互联网上的资源(即不仅标识资源,还告诉你怎么访问它)。
它必须包含 协议(Scheme)主机地址(Host)

URL 示例

https://www.google.com/search?q=uri+vs+url
ftp://user:pass@ftp.example.com/files/doc.pdf

URI vs URL 对比

特性URIURL
定义标识资源(可能是名称或地址)定位资源(必须是地址)
是否包含协议不一定(如 urn:isbn:...必须包含(如 http://
用途广义资源标识(如 XML 命名空间)实际访问资源(如网页链接)
示例mailto:user@example.comhttps://example.com/index.html

我们平时常用的都是url,因为只有定位(L--Locator)才能找到数据。

作用

curl是一个用于在服务器之间传输数据的工具。它支持以下协议:DICT、FILE、FTP、FTPS、GOPHER、GOPHERS、,
HTTP、HTTPS、IMAP、IMAPS、LDAP、LDAPS、MQTT、POP3、POP3S、RTMP、RTMPS、RTSP、SCP、SFTP、SMB、SMBS、SMTP、SMTPS、TELNET或TFTP。
该命令设计为无需用户交互即可工作。
curl提供了一系列有用的技巧,如代理支持、用户身份验证、FTP上传、HTTP post、SSL连接、Cookie、,
文件传输恢复等。

我们平时的开发,最常用的无非是从指定服务器下载我们需要的文件。

选项

参数作用示例
-X <METHOD>指定 HTTP 方法curl -X POST https://api.example.com
-H "Header: Value"添加请求头curl -H "Content-Type: application/json"
-d 'data'发送 POST 数据curl -d '{"key":"value"}'
-o <filename>下载文件并重命名curl -o file.zip https://example.com/file
-O下载文件(保留原名)curl -O https://example.com/file.txt
-L自动跟随重定向curl -L https://example.com
-v显示详细调试信息curl -v https://example.com
-s静默模式(不显示进度)curl -s https://example.com
-k忽略 SSL 证书验证curl -k https://insecure-site.com
-u user:pass基本认证curl -u admin:123456 http://example.com
--limit-rate 1M限制下载速度curl --limit-rate 1M -O file.iso
-x http://proxy:port使用代理curl -x http://127.0.0.1:8080
参数作用
-f (--fail)如果 HTTP 请求失败(如 404),静默退出(不显示 HTML 错误页面)
-s (--silent)静默模式(不显示进度条或错误信息)
-S (--show-error)在静默模式下仍显示错误(配合 -s 使用)

-L--重定向

如果在尝试对网站进行URL生成时输出为空,则可能意味着该网站告诉cURL重定向到其他URL。

案例

下载文件

# 下载文件并保留原名
curl -O https://example.com/file.zip# 下载文件并自定义名称
curl -o custom_name.zip https://example.com/file.zip# 断点续传(支持大文件)
curl -C - -O https://example.com/bigfile.iso# 默认情况下,cURL不会遵循重定向,但是您可以使用 -L 来告诉它。
$ curl -L custom_name.zip https://example.com/file.zip

http://www.lryc.cn/news/591263.html

相关文章:

  • Java学习-----消息队列
  • 3.2 函数参数与返回值
  • 通过轮询方式使用LoRa DTU有什么缺点?
  • Stone3D教程:免编码制作在线家居生活用品展示应用
  • Spring,Spring Boot 和 Spring MVC 的关系以及区别
  • WSL2 离线安装流程
  • 元宇宙与Web3的深度融合:构建沉浸式数字体验的愿景与挑战
  • 手写Promise.all
  • C#中的LINQ解析
  • Level-MC 5”雪原“
  • 探微“元宇宙”:概念内涵、形态发展与演变机理
  • MTK平台--如何查询手机连接的TX速率和带宽
  • 【PY32】使用轩微烧录器烧录PY32微控制器
  • 跨域通信inframe高级
  • Nginx/OpenResty HTTP 请求处理阶段与 Lua 实践全解20250717
  • Java中的字符串——String,StringBuilder,StringBuffer
  • 基于邻域统计分析的点云去噪方法
  • 【测试100问】没有接口文档的情况下,如何做接口测试?
  • TC500R立式加工中心主轴箱机械结构设计cad【11张】三维图+设计说明书
  • 【后端】.NET Core API框架搭建(7) --配置使用Redis
  • Android本地浏览PDF(Android PDF.js 简要学习手册)
  • React hooks——useReducer
  • 面试Redis篇-深入理解Redis缓存穿透
  • 基于YOLOv11的水面垃圾智能检测系统
  • halcon 模板匹配
  • 高精度加法模版介绍
  • 阿里云-通义灵码:隐私保护机制—为数据安全筑起铜墙铁壁
  • USRP中心频率与采样率联合设置
  • MyBatis 之配置与映射核心要点解析
  • CPU架构、三级缓存以及内存优化屏障