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
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
curl是一个用于与服务器进行数据传输的命令行工具。其最常用的功能是通过HTTP协议获取、上传和处理数据。在处理PDF文件时,curl可以用于以下几个方面的操作。 1. 下载PDF文件:可以使用curl命令从指定的URL下载PDF文件到本地计算机。例如,使用以下命令下载一个名为example.pdf的PDF文件: curl -O https://example.com/example.pdf 这将会将example.pdf文件下载到当前目录下。 2. 上传PDF文件:curl也可以用于上传本地的PDF文件到服务器。例如,使用以下命令将一个名为example.pdf的PDF文件上传到服务器: curl -F "[email protected]" https://example.com/upload 这将会将本地的example.pdf文件上传到指定的服务器。 3. 发送PDF数据:可以使用curl命令向服务器发送PDF 数据。例如,可以使用以下命令发送一个名为example.pdf的PDF文件数据: curl -X POST --data-binary "@example.pdf" https://example.com/upload 这将会将example.pdf的数据发送到指定的服务器。 4. 处理PDF数据:curl还可以与其他命令或脚本结合使用,对获取到的PDF数据进行处理。例如,可以将curl与pdfgrep命令结合使用,从一个URL获取PDF文件,然后使用pdfgrep命令搜索其中的内容: curl https://example.com/example.pdf | pdfgrep "keyword" 这将会从指定的URL获取PDF数据,并使用pdfgrep命令搜索其中包含"keyword"的内容。 总之,curl是一个非常强大的命令行工具,可以在与服务器进行数据传输的过程中处理PDF文件。无论是下载、上传还是处理PDF数据,curl都可以胜任。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值