curl命令详解

curl参数
-X 指定请求方法
-x 指定HTTP请求的代理
-H 指定请求标头
-d 发送POST请求提交的数据,使用-d参数后,会自动将请求转为POST,HTTP请求会自动加上标头Content-Type : application/x-www-form-urlencoded,可省略-X POST
-v 显示http通信的整个过程
-u 设置服务器认证的用户名和密码
-i 显示Response头信息,并打印源码
-I 显示Response头信息,不打印源码
-s 不输出错误和进度信息
-S 指定只输出错误信息
-L 自动跳转,curl默认不跟随跳转
-k 跳过SSL检测
-o 文件名 保存
-O 将URL的最后部分当作文件名保存

POST一个json报文

curl -X POST -H "Content-Type:application/json" H "Accept-Encoding: gzip, deflate" --data-binary @"json.txt" http://httpbin.org/post

注:设置多个header参数时需要多个-H,例如设置User-Agent和Accept-Encoding的命令 -H “Content-Type:application/xml” -H “Accept-Encoding: gzip, deflate”

POST一个xml报文

curl -X POST -v -H "Content-Type:application/xml" -H "Accept-Encoding: gzip, deflate" --data-binary @"xml.txt" http://httpbin.org/post

POST表单提交

# POST 提交 表单数据
curl -F "username=root"                \
     -F "password=root"               \
     -F "head_image=@test.jpg"      \
     http://httpbin.org/post

设置通过代理访问代理

#代理ip 10.10.2.3:8888
curl -x 10.10.2.3:8888 http://httpbin.org/get

注:x是小写,大写X是指定GET或者POST方法

curl FTP 上传/下载文件
假设 FTP 服务器 地址为:192.168.0.100; 用户名为:user; 密码为:passwd
查看文件

# 查看 FTP 指定目录(目录必须以"/"结尾)下的文件列表 
curl ftp://192.168.0.100/aaDir/ -u "user:passwd"

# 查看 FTP 指定文件的内容(直接输出到终端) 
curl ftp://192.168.0.100/aaDir/aa.txt -u "user:passwd"

# 用户名 和 密码 的另一种写法(查看 FTP 服务器指定目录)
curl ftp://user:passwd@192.168.0.200/aaDir/

ftp上传文件

# 上传 aa.txt 文件到 FTP 指定目录下(目录必须以"/"结尾), 并以 原文件名 命名保存
curl ftp://192.168.0.100/aaDir/ -u "user:passwd" -T "aa.txt"

# 上传 aa.txt 文件到 FTP 指定目录下, 并以 bb.txt 命名保存
curl ftp://192.168.0.100/aaDir/bb.txt -u "user:passwd" -T "aa.txt"

# 同时上传多个文件
curl ftp://192.168.0.100/aaDir/ -u "user:passwd" -T "{aa.txt,bb.txt}"

ftp下载文件

# 下载 FTP 指定文件 /aaDir/aa.txt, 以原文件名命名保存到当前目录 
curl ftp://192.168.0.100/aaDir/aa.txt -u "user:passwd" -O

# 下载 FTP 指定文件 /aaDir/aa.txt, 以 bb.txt 命名保存
curl ftp://192.168.0.100/aaDir/aa.txt -u "user:passwd" -o bb.txt

curl 执行 FTP 命令格式:
单条命令: curl [-options] -X “FTP命令”
多条命令: curl [-options] -Q “FTP命令” -Q “FTP命令”

# 
# 创建文件夹, 在 /aaDir/ 目录(目录必须以"/"结尾)下创建 bbDir 文件夹
#
curl -u "user:passwd" ftp://192.168.0.100/aaDir/ -X "MKD bbDir"

# 
# 删除文件夹, 删除 /aaDir/ 目录下的 bbDir 文件夹(文件夹必须为空)
#
curl -u "user:passwd" ftp://192.168.0.100/aaDir/ -X "RMD bbDir"

# 
# 删除文件, 删除 /aaDir/ 目录下的 aa.txt 文件
#
curl -u "user:passwd" ftp://192.168.0.100/aaDir/ -X "DELE aa.txt"

#
# 重命名, 重命名需要连续执行两条命令, 使用两个 -Q 参数连续执行两条命令(必须先 RNFR, 后 RNTO)
#
curl -u "user:passwd" ftp://192.168.0.100/ -Q "RNFR OldPath" -Q "RNTO NewPath"

普通上传下载文件

# 指定保存的文件名称下载文件
curl https://www.baidu.com -o baidu.txt
# 使用 URL 指定的资源文件名保存下载文件(URL 必须指向具体的文件名)
curl https://www.baidu.com/index.html -O```
#上传文件
curl -F 'file=@/root/test.png' https://xxx.com

探测端口

#curl ip:prot
curl 10.19.29.3:8001
  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值