Linux命令CURL用法
Curl是一个命令行方式下传输数据的开源传输工具,支持多种协议包括:FTP,HTTP,HTTPS,IMAP,POP3,TELNET等。同样支持HTTP POST方法,PUT方法,FTP上传,cookie,用户名/密码认证,下载文件端点续传等,功能十分强大。
1. 先来试试
curl http://www.baidu.com ,回车之后,HTML内容就显示在屏幕上了。
2. 下载
curl –o baidu.html http://www.baidu.com ,执行后还可以看到下载进度提示,完成100%后会自动退出了,把网页保存到baidu.html中了。
它还有一个大写O的选项,是按照服务器上的文件名保存到本地,如果执行curl –O http://www.baidu.com ,是会报错的,提示找不到文件名,如果换成curl –O http://baike.baidu.com/view/1326315.htm , 就自动保存文件为1326315.html。
Windows下像flashget这样的工具还支持分块以及断点续传,curl也毫不示弱。
-C或--continue-at:断点续传,用法如下:
curl -C http://www.example.com
-r或--range:分块下载,用法:
curl -r 0-10240 -o "example.part1" http://www.example.com/example.zip &
curl -r 10241-20480 -o "example.part2"
http://www.example.com/example.zip
其中加&表示在后台执行,需要按CTRL+C才能退出。
不过下载完后需要自己把这些破碎的文件合并起来
如果你用UNIX或苹果,用 cat example.part* > example.zip就可以
如果用的是Windows,用copy /b example.part1+example.part2 example.zip来解决
3. 上传
-T/--upload-file:往服务器上传文件,用法:
curl -T "img[1-1000].png" ftp://example.com/upload/
或上传多个文件
curl -T "{file1,file2}" http://www.example.com
4. POST方法
-d或--data参数:post请求,用法为curl -d “id=1&name=test” http://example.com/example.php ,
需把请求的参数和URL分开,同时可以使用curl -d “id=1” -d “name=test” http://example.com/example.php ,相当于提交了两个参数。当提交的参数值中有特殊字符就需要先转义。如空格时,就需要转义成%20。
--data-urlencode参数:就可以自动转义特殊字符,无需人工事先转义。
-F或--form:将本地文件上传到服务器,用法为:curl -F “filename=@/home/test/test.pic” http://example.com/example.php 。千万不能漏掉@符号。
5. 设置referer
有时候我们如果直接请求某个URL不能成功,它需要判断referer是否正确,那就可以通过-e或--referer参数模拟
curl --referer http://www.example.com http://www.example.com
6. 指定User Agent
-A/--user-agent:伪装成指定的浏览器Chrome访问,用法:
curl -A “Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36” http://www.example.com
7. 伪造cookie
-b或--cookie: 有两种用法,一是指定参数和值:curl --cookie "name=xxx" http://www.example.com ;二是从文件读取:curl -b /cookie.txt http://www.example.com
8. 保存cookie
-c/--cookie-jar:curl命令执行后保存操作时生成的cookie到文件:
curl -c ./cookie.txt -d username=aaaa -d pwd=****** http://www.example.com
9. 定义输出显示内容
现在为止对它的崇拜已经是犹如滔滔江水连绵不绝了,慢!还有一个powerful的选项.
-w/--write-out: 可以定义输出的内容,如常用的http码,tcp连接时间,域名解析的时间,握手时间及第一时间响应时间等,非常强大。
用法如:
curl -o /dev/null -s -w %{http_code} "http://www.baidu.com" 打印出返回的http码
curl -o /dev/null -s -w “time_total: %{time_total}\n" "http://www.baidu.com" 打印响应时间
如果你对curl还有更大的兴趣,其他更多的功能请找无所不能的男人帮忙吧!
Linux命令CURL用法的更多相关文章
- [Linux命令]curl命令参数详解——转载
linux curl是通过url语法在命令行下上传或下载文件的工具软件,它支持http,https,ftp,ftps,telnet等多种协议,常被用来抓取网页和监控Web服务器状态.curl命令参数介 ...
- linux的curl用法【转】
每分钟访问云签到任务执行页面.顺便记录了下curl的用法.以下内容摘自阮一峰博客. 一.查看网页源码 直接在curl命令后加上网址,就可以看到网页源码.我们以网址www.sina.com为例(选择该网 ...
- 每天一个linux命令---curl
linux curl是一个利用URL规则在命令行下工作的文件传输工具.详细请参考:http://www.codesky.net/article/201010/170043.html 例如:curl ' ...
- Ubuntu命令--CURL用法
curl命令是个功能强大的网络工具,支持通过http.ftp等方式下载文件.上传文件.还可以用来抓取网页.网络监控等方面的开发,解决开发过程中遇到的问题. 常用参数curl命令参数很多,这里只列出我曾 ...
- 快速查看linux命令的用法----------TLDR
之前我们如果用一个命令,但是忘了具体的参数是什么的时候,通常会用man,比如 man tar 但是man有时候特别的冗长,你要找到想要的例子非常困难,所以tldr命令就是一个很好的补充,里边会有经常用 ...
- Linux 命令 - curl: transfer a URL
命令格式 curl [options] [URL...] 命令参数 -0, --http1.0 强制使用 HTTP/1.0 发送请求 -A, --user-agent 指定用户代理 -b/--cook ...
- 每天一个linux命令-curl命令
下载文件 如果我们想要下载文件,而不是查看,那么可以使用如下命令: curl -O http://mif.polimercolor.ru/mifsoft/MDict.zip 以上命令会下载文件并以原名 ...
- Linux 命令 indent 用法
此命令用于调整C源码的格式. 在LKD中的例子: indent -kr -i8 -ts8 -sob -l80 -ss -bs -psl filename 参数解释如下: -i :设置缩进的格数 - ...
- linux命令及用法
随机推荐
- 最难的工作 /// SPFA模板 oj1396
题目大意: Input 第一行是一个整数T ( T ≤ 100 ),表示测试用例的个数. 每个测试用例的第一行是两个整数 n 和 m ( 1 ≤ n ≤ 200 , 0 ≤ m ≤ 10000 ),分 ...
- 使用CEfSharp之旅(1) 加载网络页面
原文:使用CEfSharp之旅(1) 加载网络页面 版权声明:本文为博主原创文章,未经博主允许不得转载.可点击关注博主 ,不明白的进群191065815 我的群里问 https://blog.csdn ...
- Ubuntu环境下使用Maven编译并打包Java项目
一.安装Maven 打开终端输入以下指令: $ mvn -v Apache Maven Maven home: /usr/share/maven Java version: 1.8.0_181, ve ...
- spring:常用的注解
bean.xml中配置依赖 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns=" ...
- leetcode-第五场双周赛-1133-最大唯一数
第一次提交: class Solution: def largestUniqueNumber(self, A: List[int]) -> int: dict = {} for i in A: ...
- 「BZOJ2391」Cirno的忧郁
传送门 设p[0] = (-10001,-10001) 把所有点按p[0]极角排序, s[i][j]表示三角形p[0]p[i]p[j]内的总价值,若i到j极角增大则s为正,否则s为负. 那么答案就是按 ...
- 洛谷P3694 邦邦的大合唱
题目背景 BanG Dream!里的所有偶像乐队要一起大合唱,不过在排队上出了一些问题. 题目描述 N个偶像排成一列,他们来自M个不同的乐队.每个团队至少有一个偶像. 现在要求重新安排队列,使来自同一 ...
- linux top命令VIRT,RES,SHR,DATA的含义(转)
linux top命令VIRT,RES,SHR,DATA的含义 字体: 大 小Posted by 佚名 | tags: top VIRT RES SHR VIRT:virtual memory ...
- .Net Core微服务系列--配置中心
什么是配置中心 简单来说配置中心就是对配置进行管理的一个中心.对于配置这个司空见惯的东西,我们想想为什么对于应用程序需要各种各样的配置来支撑? 我们人类没有办法掌控和预知一切,所以映射到软件系统这个领 ...
- css3之背景background-origin,background-clip,background-size
background-origin属性指定了背景图像的位置区域. content-box, padding-box,和 border-box区域内可以放置背景图像. background-clip用来 ...