简介

cURL是一款开源的基于URL的文件传输工具,支持HTTP、HTTPS、FTP等协议,支持POST、cookie、认证、扩展头部、限速等特性。

curl命令用途广泛,比如下载、发送http请求、指定http头部等。

wget是个专职的下载利器,简单,专一,极致;而curl可以下载,但是长项不在于下载,而在于模拟提交web数据,对请求报文进行设置,从而对网页进行调试。

wget支持递归下载,curl不支持。所以区分下来就是下载数据使用wget,网页调试使用curl。

常用功能

curl URL     #下载文件到stdout
curl URL -s/--silent #安静模式,不显示过程也不显示报错
curl URL --silent --progress #显示#号的进度条
curl URL --silent -O #下载数据写入文件,文件名和URL中文件名相同
curl URL --silent -o filename #手动指定文件名
curl URL -C offset #从指定偏移量位置继续下载,offset是字节为单位的整数
curl URL -C - #断点续传
curl URL --referer referer_URL #指定参照页字符串
curl URL --cookie "user=peter;pass=123456" #手动指定并存储cookie
curl URL --cookie-jar cookie_file #从文件中指定cookie
curl URL --user-agent "Mozilla/5.0" #指定用户代理
curl URL -H "Host: www.peter.com" -H "Accept-language: en" #设置多个http头部信息
curl URL --limit-rate 20k #限制下载速度
curl URL --max-filesize bytes #指定可下载的最大文件大小
curl URL -u user:pass #进行密码认证
curl URL -I #只打印响应头部信息
curl URL -k #--insecure 接受不安全的数字证书,例如自签名证书
curl URL -S #--show-error 显示报错,一般curl URL -sS 连用
curl URL -x #--proxy <[protocol://][user:password@]proxyhost[:port]> 使用代理服务器
curl URL -D #--dump-header <file> 将响应头部信息写入某个文件 一般存储cookie就是存储header
curl URL -b #--cookie <name=data> 使用本地cookie,一般是"NAME1=VALUE1; NAME2=VALUE2"键值对格式,也可以 -b <file> 使用cookie文件
curl URL -d #--data <data> 使用POST方法提交数据 通常提交方式是键值对,例如curl URL -d 'user=name' -d 'password=passwd' ,这里注意curl
#会将多个-d参数后面的内容组合成'name=daniel&skill=lousy'这种形式,所以我们自己也可以使用curl URL -d 'name=name&password=passwd'
#形式提交数据; 第二种方法是读取文件数据进行提交例如 curl URL -d @filename
curl URL -X #--request <command> 指定请求方法例如curl URL -X POST

curl基于URL的文件传输工具的更多相关文章

  1. 远程文件传输工具sftp、scp、rsync

    一.scp 格式 scp [options] [user@]host : /sourcefile /destpathscp [options] /sourcefile [user@]host:/des ...

  2. putty提供的两个文件传输工具PSCP、PSFTP详细介绍

    用 SSH 来传输文件 PuTTY 提供了两个文件传输工具 PSCP (PuTTY Secure Copy client) PSFTP (PuTTY SFTP client) PSCP 通过 SSH ...

  3. window与linux文件传输工具

    window与linux文件传输工具 [一般用于SecureCRT ssh中使用] 法一:直接用yum安装lrzsz(推荐) yum install lrzsz -y 注意:rhel安装完系统后 直接 ...

  4. 企业网盘居然支持高速局域网文件传输工具(速度可达20M)

    高速局域网文件传输工具Mobox,局域网内文件共享是公司内非常必须的功能,原本文件共享可以通过:1)windows目录共享目录来实现文件交互:2)通过U盘拷贝给对方:3)通过QQ发送给对方:4)通过邮 ...

  5. 5款顶尖Windows文件传输工具

    5款顶尖Windows文件传输工具 英文原文: Drasko 日常工作中,公司里的系统管理员或其他岗位的员工都需要传递大量各种类型的文件和文档.其中一些可以通过 email 收发.但由于 email ...

  6. Linux_文件传输工具_FileZilla

    什么是FileZilla? FileZilla是一个免费开源的FTP软件,分为客户端版本和服务器版本,具备所有的FTP软件功能.可控性.有条理的界面和管理多站点的简化方式使得Filezilla客户端版 ...

  7. Qt实现基于多线程的文件传输(服务端,客户端)

    1. 效果 先看看效果图 这是传输文件完成的界面 客户端 服务端 2. 知识准备 其实文件传输和聊天室十分相似,只不过一个传输的是文字,一个传输的是文件,而这方面的知识,我已经在前面的博客写过了,不了 ...

  8. 移植lrzsz串口文件传输工具到mini2440

    1.下载源码2.解压源码 tar -xzf lrzsz-0.12.20.tar.gz 3.检查配置 ./configure 4.修改Makefile 有三个Makefile需要修改,分别是lrzsz- ...

  9. 【基于onenet-edp的文件传输】1、调试上报数据点和端对端透传

    onenet-edp上报数据点和端对端透传 一.前言 edp是onenet用于tcp设备定制的一套协议,能够灵活地实现数据上报和透传: 二.准备工作 1.找到edp页面 进入工作台后,找到多协议接入, ...

随机推荐

  1. 洛谷 P4114 Qtree1

    Qtree系列都跟树有着莫大的联系,这道题当然也不例外 我是题面 读完题,我们大概就知道了,这道题非常简单,可以说是模板题.树剖+线段树轻松解决 直接看代码吧 #include<algorith ...

  2. 2月4日 考试——迟到的 ACX

    迟到的 ACX 时限:1s 内存限制:128MB题目描述: 今天长沙下雪了,小 ACX 在上学路上欣赏雪景,导致上学迟到,愤怒的佘总给 ACX 巨佬出了一个题目想考考他,现在他找到你,希望你能帮帮他. ...

  3. Kerberos的白银票据详解

    0x01白银票据(Silver Tickets)定义 白银票据(Silver Tickets)是伪造Kerberos票证授予服务(TGS)的票也称为服务票据.如下图所示,与域控制器没有AS-REQ 和 ...

  4. javaWeb中,文件上传和下载

    在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现. 对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用 ...

  5. Codeforces 895.B XK Segments

    B. XK Segments time limit per test 1 second memory limit per test 256 megabytes input standard input ...

  6. OD脚本指令集

    声明: 1.本指令集搜集自各论坛.博客,欢迎补充讨论 OD脚本指令集 在后面的文档中, “源操作数” 和 “目的操作数”表示以下含义: - 十六进制常数,既没有前缀也没有后缀. (例如:是00FF, ...

  7. C++ ------ 创建对象 new 和不 new 的区别

    1.作用域不同 不用new:作用域限制在定义类对象的方法中,当方法结束时,类对象也被系统释放了,(安全不会造成内存系统泄漏). 用new:创建的是指向类对象的指针,作用域变成了全局,当程序结束时,必须 ...

  8. 持久化的基于L2正则化和平均滑动模型的MNIST手写数字识别模型

    持久化的基于L2正则化和平均滑动模型的MNIST手写数字识别模型 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文献Tensorflow实战Google深度学习框架 实验平台: Tens ...

  9. centos7-java模拟cpu占用高及排查

    环境 centos7 1核2GB Java8 模拟cpu占用高 新建一个名为jvm-learn的springboot项目 模拟代码如下 import org.springframework.boot. ...

  10. JS笔记加强版3

    JS 面向对象及组件开发   JS的面向对象:   1.什么是面向对象编程   用对象的思想去写代码,就是面向对象编程 过程式写法 面向对象写法 我们一直都在使用对象 数组 Array 时间 Date ...