Ubuntu命令用法详解——curl命令

  • 时间:
  • 浏览:1
  • 来源:大发uu快3_uu快3公式_大发uu快3公式

简介:

cURL(CommandLine Uniform Resource Locator)是一个 利用URL语法在命令行下工作的文件传输工具,1997年首次发行。它支持文件上传和下载,所以有是综合传输工具,但按传统,习惯称cURL为下载工具。cURL还蕴含了用于守护任务管理器开发的libcurl。

删改介绍参见:wiki

常用参数:

curl命令参数所以有,这里只列出我另一个

用过、怪怪的是在shell脚本中用到过的或多或少。
-v/--verbose 小写的v参数,用于打印更多信息,包括发送的请求信息,这在调试脚本是怪怪的有用。
-m/--max-time <seconds> 指定除理的最大时长
-H/--header <header> 指定请求头参数
-s/--slient 减少输出的信息,比如进度
--connect-timeout <seconds> 指定尝试连接的最大时长
-x/--proxy <proxyhost[:port]> 指定代理服务器地址和端口,端口默认为101000
-T/--upload-file <file> 指定上传文件路径
-o/--output <file> 指定输出文件名称
-d/--data/--data-ascii <data> 指定POST的内容
--retry <num> 指定重试次数
-e/--referer <URL> 指定引用地址
-I/--head 仅返回头部信息,使用HEAD请求

1、curl安装

sudo apt-get install curl



2、GET请求

curl http://www.baidu.com,回车还还上能

,HTML内容打印在屏幕上;将会这里的URL指向的是一个

文件将会一幅图都可不没办法直接下载到本地。
curl -i "http://www.baidu.com" 显示删改信息
curl -l "http://www.baidu.com" 只显示头部信息
curl -v "http://www.baidu.com" 显示get请求全过程解析

wget "http://www.baidu.com"也可不没办法



3、下载

curl –o linjiqin http://www.cnblogs.com/X-knight/,执行后可不没办法看到下载进度提示,完成1000%都在自动退出了,把网页保存到X-knight中。

它还两个 大写O的选项,是按照服务器上的文件名保存到本地,将会执行curl –O http://www.cnblogs.com,是会报错的,提示找没办法文件名,将会加进curl –O https://www.cnblogs.com/X-knight/p/10589004.html,就自动保存文件为10589004.html。



4、上传

-T/--upload-file:往服务器上传文件

用法:

上传多个文件
curl -T "img[1-10000].png" ftp://example.com/upload/

上传多个文件
curl -T "{file1,file2}" http://www.example.com



5、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参数:可不没办法自动转义成特殊字符,不想人工还还上能 转义。

curl --data-urlencode "name=April 1" http://example.com/example.php

-F或--form:将本地文件上传到服务器,用法为:

curl -F "filename=@/home/test/test.pic" http://example.com/example.php 。千万没办法漏掉@符号。



6、设置referer

有还还上能 亲们将会直接请求某个URL没办法成功,它没办法判断referer否是正确,那就可不没办法通过-e或--referer参数模拟

curl --referer http://www.example.com http://www.example.com



7、指定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.161000.63 Safari/537.36" www.baidu.com

8、伪造cookie

-b或--cookie:

有有一种用法:

一是指定参数和值:

curl --cookie "name=xxx" http://www.example.com 

二是从文件读取:

curl -b /cookie.txt http://www.example.com



9、保存cookie

-c/--cookie-jar:curl命令执行后保存操作时生成的cookie到文件:

curl -c ./cookie.txt -d username=aaaa -d pwd=****** http://www.example.com



10、定义输出现示内容

-w/--write-out: 可不没办法定义输出的内容,如常用的http码,守护任务管理器时间,域名解析的时间,握手时间及第一时间响应时间等,非常强大。

1、打印出返回的http码

curl -o /dev/null -s -w %{http_code} "http://www.baidu.com" 



2、打印响应时间

curl -o /dev/null -s -w "time_total: %{time_total}\n" "http://www.baidu.com"