centos7下curl的简单使用(ftp)记录

it2023-06-18  70

注:本文是参考网上的资料然后整理了一些自己经常使用的命令以备忘!

curl是一个利用 URL 语法,在命令行终端下使用的网络请求工具,支持 HTTP、HTTPS、FTP 等协议。cURL 也有用于程序开发使用的版本 libcurl。

HTTP/HTTPS 网络请求

1.普通 GET 请求

curl https://www.baidu.com/         # GET请求, 输出 响应内容 curl -I https://www.baidu.com/      # GET请求, 只输出 响应头 curl -i https://www.baidu.com/      # GET请求, 输出 响应头、响应内容 curl -v https://www.baidu.com/      # GET请求, 输出 通讯过程、头部信息、响应内容等

2.POST 请求提交数据

# POST 提交 JSON 数据(\表示命令语句还未结束, 换行继续) curl -H "Content-Type: application/json"                \      -d '{"username":"hello", "password":"123456"}'     \      http://localhost/login

# POST 提交 表单数据 curl -F "username=hello"                \      -F "password=123456"               \      -F "head_image=@filepath.jpg"      \      http://localhost/register

3.下载文件

# 指定保存的文件名称下载文件 curl https://www.baidu.com -o baidu.txt

# 使用 URL 指定的资源文件名保存下载文件(URL 必须指向具体的文件名) curl https://www.baidu.com/index.html -O

# 指定 Usaer-Agent 和 Referer 请求头的值, 下载文件 curl -A "Mozilla/5.0 Chrome/70.0.3538.110 Safari/537.36" \      -e "https://www.baidu.com/" \      https://www.baidu.com/index.html -O

FTP 上传/下载文件

1.查看文件

# 查看 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/

2.上传文件

# 上传 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}"

3.下载文件

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

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

4.执行 FTP 协议命令

curl 执行 FTP 命令格式:

单条命令: curl [-options] <ftpUrl> -X "FTP命令" 多条命令: curl [-options] <ftpUrl> -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"

最新回复(0)