使用方法
在linux终端输入下面命令回车即可返回:
curl <curl> //其中<curl>就是网址。
curl是利用URL语法在命令行方式下工作的开源文件传输工具。它被广泛应用在Unix、多种Linux发行版中,并且有DOS和Win32、Win64下的移植版本。
curl 命令,是一个利用URL规则在命令行下工作的文件传输工具。curl 支持文件的上传和下载,所以是综合传输工具,但按传统,习惯称curl为下载工具。
作为一款强力工具,curl支持包括HTTP、HTTPS、FTP等众多协议,还支持 GET、POST、cookies、认证、从指定偏移处下载部分文件、用户代理字符串、限速、文件大小、进度条等特征,还可以做网页处理流程和数据检索自动化。
在进行web后台程序开发测试过程中,常常会需要发送url进行测试,使用curl可以方便地模拟出符合需求的url命令
curl 语法:curl [options...] <url> # curl (选项) (参数)
示例1:curl -m 30 --retry 3 https://proxy.mimvp.com/ip.php // curl 爬取网页,获取本机外网ip
示例2:curl -m 30 --retry 3 -x https://120.77.176.179:8888 https://proxy.mimvp.com/ip.php // curl 通过代理IP爬取网页,获取本机外网ip
更多示例:https://proxy.mimvp.com/demo2.php (Shell curl wget)
使用curl发送GET请求:curl protocol://ip:port/url?args
curl https://proxy.mimvp.com/login?user=admin&passwd=12345678
使用curl发送POST请求: (推荐)
curl -d "key1=value1&key2=value2&key3=value3" protocol://ip:port/path
示例1:curl -d 'post_data=i_love_mimvp.com' https://proxy.mimvp.com/ip.php // 测试 post ,发送什么数据就返回什么数据,如 'i_love_mimvp.com'
示例2:curl -d "user=admin&passwd=12345678" https://proxy.mimvp.com/login // 测试 post ,模拟发送登录的用户名和密码
这种方法是参数直接在header里面的,如需将输出指定到文件可以通过重定向进行 *** 作.
curl -H "Content-Type:application/json" -X POST -d 'json data' URL
示例1:curl -H "Content-Type:application/json" -X POST -d '{"post_data":"i_love_mimvp.com"}' 'https://proxy.mimvp.com/ip.php'
示例2:curl -H "Content-Type:application/json" -X POST -d '{"user": "admin", "passwd":"12345678"}' https://proxy.mimvp.com/login
curl 应用实例
1. 文件下载
curl命令可以用来执行下载、发送各种HTTP请求,指定HTTP头部等 *** 作。
如果系统没有curl可以使用 yum install curl 安装,也可以下载安装。
curl是将下载文件输出到stdout,将进度信息输出到stderr,不显示进度信息使用 --silent 选项。
curl URL --silent
这条命令是将下载文件输出到终端,所有下载的数据都被写入到stdout。
使用选项-O将下载的数据写入到文件,必须使用文件的绝对地址:
curl http://man.linuxde.net/text.iso --silent -O
选项-o将下载数据写入到指定名称的文件中,并使用--progress显示进度条:(常用)
curl http://man.linuxde.net/test.iso
URL 编码/解码方法(linux shell实现),方法如下:
1、编码的两种方法:
admin@~ 11:14:29>echo '手机' | tr -d '\n' | xxd -plain | sed 's/\(..\)/%\1/g'admin@~ 11:14:29>echo '手机' |tr -d '\n' |od -An -tx1|tr ' ' %
2、解码的两个步骤:
admin@~ 11:15:11>url="要解码的URL地址"admin@~ 11:15:11> printf $(echo -n $url | sed 's/\\/\\\\/gs/\(%\)\([0-9a-fA-F][0-9a-fA-F]\)/\\x\2/g')"\n"
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)