curl用法
简介
curl是一个和服务器交互信息(发送和获取信息)的命令行工具,支持DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, TELNET和TFTP等协议。curl支持代理、用户认证、FTP上传、HTTP POST请求、SSL连接、cookies、文件传输、Metalink等功能。
URL
curl支持如下几种方式的URL:
可以指定多个url,或者在花括号中指定url的多个部分。
http://site.{one,two,three}.com
可以用中括号指定数字或字母序列。
ftp://ftp.numericals.com/file[1-100].txt
ftp://ftp.numericals.com/file[001-100].txt (with leading zeros)
ftp://ftp.letters.com/file[a-z].txt
可以指定多个序列。
http://any.org/archive[1996-1999]/vol[1-4]/part{a,b,c}.html
可以在命令行指定任意数量的url,curl会按指定顺序获取url的内容。
可以在一个范围内指定跳跃的步数。
http://www.numericals.com/file[1-100:10].txt
http://www.letters.com/file[a-z:2].txt
如果没有指定协议前缀,curl会尝试猜测协议。它默认会选择http协议,但是当遇见常用的host名字时,会选择尝试其他协议。例如ftp.xxx.com,curl会尝试ftp协议。
查看http响应头
curl -i http://www.baidu.com
查看交互过程
curl -v http://www.baidu.com
GET请求
当发起http请求时,curl会默认发起GET请求,也可以"-X GET"方式指定。
curl -X GET http://www.baidu.com
POST请求
当使用POST请求方式,需要通过指定“-d”,向服务器传递数据。
curl -X POST http://www.example.com/posts
DELETE请求
DELETE请求用于删除服务器端的数据。
curl -X DELETE http://www.example.com/posts/1
PUT请求
PUT请求用于修改服务器端的数据
curl -X PUT http://www.example.com/posts/1
HTTP认证
常用的HTTP认证方式有:Basic认证、Digest认证、OAuth2认证。
Basic认证
curl --basic -u user:password http://www.example.com/posts/1
Digest认证
curl --digest -u user:password http://www.example.com/posts/1
OAuth2认证
curl -u clientId:clientSecret -X POST -d "username=test&password=test&grant_type=password&scope=read" http://www.example.com/oauth/token
curl -H "Authorization: Bearer [bearer]" http://www.example.com/posts/1
文件上传
假定文件上传的表单如下所示:
<form method="POST" enctype='multipart/form-data' action="upload.cgi">
<input type=file name=upload>
<input type=submit name=press value="OK">
</form>
可使用curl按如下方式上传文件:
curl --form upload=@localfilename --form press=OK http://www.example.com
User Agent字段
这个字段用来表示客户端的设备信息。服务器有时会根据这个字段,针对不同的设备,返回不同格式的网页,比如移动端和PC端。
curl --user-agent "[user agent]" http://www.example.com
cookie
curl可以发送cookie
curl --cookie "name1=value1" http://www.example.com
下载网页
curl -o file.html http://www.example.com
-O选项可以按照服务器的文件名保存文件
curl -O http://www.example.com/1.jpg
代理服务器
curl -x 代理服务器地址:端口 http://www.example.com
保存cookie信息
curl -D cookiefile01.txt http://www.example.com
使用保存cookie信息的文件
curl -D cookiefile02.txt -b cookiefile01.txt http://www.example.com
输出详细的交互信息
curl http://www.example.com --trace-ascii /dev/stdout
curl用法的更多相关文章
- linux curl用法详解
linux curl用法详解 curl的应用方式,一是可以直接通过命令行工具,另一种是利用libcurl库做上层的开发.本篇主要总结一下命令行工具的http相关的应用, 尤其是http下载方面 ...
- CURL 用法记录
CURL 用法记录 在工作中经常需要用到curl 命令,记录一下常用的场景 Send a POST Request with JSON Data curl -d '{"login" ...
- Ubuntu命令--CURL用法
curl命令是个功能强大的网络工具,支持通过http.ftp等方式下载文件.上传文件.还可以用来抓取网页.网络监控等方面的开发,解决开发过程中遇到的问题. 常用参数curl命令参数很多,这里只列出我曾 ...
- linux的curl用法【转】
每分钟访问云签到任务执行页面.顺便记录了下curl的用法.以下内容摘自阮一峰博客. 一.查看网页源码 直接在curl命令后加上网址,就可以看到网页源码.我们以网址www.sina.com为例(选择该网 ...
- curl用法详解
前言 昨天现场的浏览器崩溃了,楼主苦逼,就临时用了curl测试了下图片请求接口.今天总结下. 一.what? curl is a tool to transfer data from or to a ...
- Linux命令CURL用法
Curl是一个命令行方式下传输数据的开源传输工具,支持多种协议包括:FTP,HTTP,HTTPS,IMAP,POP3,TELNET等.同样支持HTTP POST方法,PUT方法,FTP上传,cooki ...
- 【Curl】【转】curl用法!
curl基础用法! www.ruanyifeng.com/blog/2019/09/curl-reference.html
- shell神器curl命令的用法 curl用法实例笔记
shell神器curl命令的用法举例,如下: ##基本用法(配合sed/awk/grep) $curl http://www.jquerycn.cn ##下载保存 $curl http://www.j ...
- php curl用法
curl 是使用URL语法的传送文件工具,支持FTP.FTPS.HTTP HTPPS SCP SFTP TFTP TELNET DICT FILE和LDAP.curl 支持SSL证书.HTTP POS ...
随机推荐
- 【C#学习笔记】类型转换
using System; namespace ConsoleApplication { class Program { static void Main(string[] args) { " ...
- 在Windows下编译FFmpeg详细说明
MinGW:一个可自由使用和自由发布的Windows特定头文件和使用GNC工具集导入库的集合,允许你生成本地的Windows程序而不需要第三方C运行时 MinGW,即 Minimalist GNU F ...
- ubuntun安装ssh,并远程链接服务器操作
SSH是一种以安全.加密方式连接远程主机或服务器的方法.SSH服务器接受从有SSH的客户机的连接,允许操作者象在本地一样地登录系统.你可以用SSH从远程运行shell和X程序. (1)安装SSH服务器 ...
- wpa_cli调试工具的使用
1: run wpa_supplicant first use the following command: wpa_supplicant -Dwext -iwlan0 -C/data/system/ ...
- mbr grub的区别
mbr是磁盘的物理扇区,不是程序名: 因为BIOS很小,功能有限,为了完成加载操作系统的功能,就产生了mbr: bios检测到一个硬盘后,将硬盘的0柱面.0磁头.1扇区的内容经过简单判断后, 至内存中 ...
- hdu3231 (三重拓扑排序) 2009 Asia Wuhan Regional Contest Hosted by Wuhan University
这道题算是我拓扑排序入门的收棺题了,卡了我好几天,期间分别犯了超时,内存溢出,理解WA,细节WA,格式WA…… 题目的意思大概是在一个三维坐标系中,有一大堆矩形,这些矩形的每条棱都与坐标轴平行. 这些 ...
- DBCP连接池原理分析及配置用法
DBCP连接池介绍 ----------------------------- 目前 DBCP 有两个版本分别是 1.3 和 1.4. DBCP 1.3 版本需要运行于 JDK 1.4-1.5 ,支持 ...
- C#控制定位Word光标移动到任意行或者最后一行,取得光标位置等操作
C#控制定位Word光标移动到任意行或者最后一行,取得光标位置等操作 http://blog.csdn.net/jglie/article/details/7394256 十一.上下左右移动光标位 p ...
- 【Unity入门】场景编辑与场景漫游快捷键
版权声明:本文为博主原创文章,转载请注明出处. 打开Unity主窗口,选择顶部菜单栏的“GameObject”->“3D Object”->“Plane”在游戏场景里面添加一个面板对象.然 ...
- cxf 动态创建客户端,局域网能正常调用服务端,外网不能访问