当前位置: 首页 > 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.dtcms.com/a/284542.html

相关文章:

  • 《Java Web 核心:Servlet、会话与过滤器笔记》
  • AndroidStudio环境搭建
  • vue svg实现一个环形进度条组件
  • 石子入水波纹效果:顶点扰动着色器实现
  • 【44】MFC入门到精通——MFC 通过Button按钮添加控件变量实现:按下 按钮变色 (比如开关 打开关闭状态) MFC更改button控颜色
  • Git简介与特点:从Linux到分布式版本控制的革命
  • 找不到或无法加载主类 org.gradle.wrapper.GradleWrapperMain
  • Linux Swap区深度解析:为何禁用?何时需要?
  • 【Java EE初阶 --- 网络原理】网络编程
  • Vue3 + WebSocket
  • 基于现代R语言【Tidyverse、Tidymodel】的机器学习方法
  • 3.2 函数参数与返回值
  • .vscode 扩展配置
  • 浅析网络安全面临的主要威胁类型及对应防护措施
  • 【C++指南】C++ list容器完全解读(四):反向迭代器的巧妙实现
  • 如何做好DNA-SIP?
  • 【41】MFC入门到精通——MFC中 GetLBText()、GetWindowText()、SetWindowText区别
  • 扭蛋机小程序开发:开启线上娱乐新风尚
  • 分布式光伏发电系统中的“四可”指的是什么?
  • 教资科三【信息技术】— 学科知识: 第一章(信息技术基础)
  • 基于springboot+vue+mysql技术的实验室管理系统(源码+论文)
  • 044_设计模式入门(创建型 / 结构型 / 行为型)
  • 【解决方案】鸿蒙 / 矿鸿系统 Shell 无故退出问题(息屏导致)详解
  • Spatial Frequency Modulation for Semantic Segmentation。针对图像下采样造成信息丢失问题的解决思路
  • 深入理解 Spring Boot Starter 的生成机制
  • tcp/udp调试工具
  • Linux内核网络栈深度剖析:inet_connection_sock.c的服务器端套接字管理
  • LINUX例行性工作(计划任务)实验操作 ---at和crontab以及系统级别的计划任务
  • springboot跨域问题 和 401
  • 当下主流摄像头及其核心参数详解