简介

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. logstash收集MySQL慢查询日志

    #此处以收集mysql慢查询日志为准,根据文件名不同添加不同的字段值input { file { path => "/data/order-slave-slow.log" t ...

  2. BZOJ3717 PA2014Pakowanie(状压dp)

    显然贪心地有尽量先往容量大的背包里放.设f[i]为i子集物品最小占用背包数,g[i]为该情况下最后一个背包的剩余容量,转移显然. #include<iostream> #include&l ...

  3. Redis安装与配置Redis安装与配置

    今天在使用Redis的时候遇到了一些问题,这个问题的解决,发现很多人使用Redis的时候没有一点安全意识.所以又重温了一下Redis,觉得应该写一下Redis的安全和配置. Redis安装与配置Red ...

  4. hdu1693 Eat the Trees 【插头dp】

    题目链接 hdu1693 题解 插头\(dp\) 特点:范围小,网格图,连通性 轮廓线:已决策点和未决策点的分界线 插头:存在于网格之间,表示着网格建的信息,此题中表示两个网格间是否连边 状态表示:当 ...

  5. hadoop(三)HDFS基础使用

    一.HDFS前言 1. 设计思想          分而治之:将大文件,大批量文件,分布式的存放于大量服务器上.以便于采取分而治之的方式对海量数据进行运算分析     2. 在大数据系统架构中的应用  ...

  6. Git入门指南

    git学习资源: Pro Git(中文版) Learn Git in your browser for free with Try Git. Git常用命令 Reference 常用 Git 命令清单 ...

  7. SpringMVC 之 表单标签

    本篇我们来学习Spring MVC表单标签的使用,借助于Spring MVC提供的表单标签可以让我们在视图上展示WebModel中的数据更加轻松. 一.首先我们先做一个简单了例子来对Spring MV ...

  8. thinkphp常见问题

    1.数据库查询中execute和query方法的区别 tp中execute()和query()方法都可以在参数里直接输入sql语句. 但是不同的是execute()通常用来执行insert或者upda ...

  9. Qt ------ 主事件循环与 QEventLoop

    1.事件循环一般用exec()函数开启.QApplicaion::exec().QMessageBox::exec()都是事件循环.其中前者又被称为主事件循环. 事件循环首先是一个无限“循环”,程序在 ...

  10. update condition 字段报错

    mysql> update tf_user_present set condition="0" where id=1;ERROR 1064 (42000): You have ...