Curl
# 输出参数介绍
curl —s # 省略进度条
curl -S # 省略进度条是出错时显示错误
curl -o 1.txt # 制定输出目录
curl -I # 只输出响应头,小写i:加上body
# 输入参数
curl -A # UA信息
curl -b # cookies k=v
curl -H # 请求头
curl -L # 跟随3xx重定向
curl -e # 指定referer
curl -u # -u user:passwd http验证
curl -d # 请求参数就是body内容
# 默认传输方式是 application/json,服务端接收数据-》body-》form数据
# 若在-H 指定Content-Type:application/json,服务端接受数据-》body-》json data
# 应该还有file类型的Content-Type,服务端-》body-》file
curl -X # 请求方法 POST GET(默认)
curl -x # 代理 socks5://127.0.0.1:1080
curl -v # 打印调试信息
curl -k # 忽略SSL证书
curl -m # 指定等待时间time-out
# CURL FTP命令
curl ftp://host:port/ -u "user:passwd"
# 查看
curl ftp://host:xxx/ -u "user:password"
# 上传
curl ftp://user:password@host:port/path -T
# 1、列出ftp服务器上的目录列表:
curl ftp://www.xxx.com/ --user name:passwd
curl ftp://www.xxx.com/ –u name:passwd #简洁写法
curl ftp://name:passwd@www.xxx.com #简洁写法2
# 2、只列出目录,不显示进度条
curl ftp://www.xxx.com –u name:passwd -s
# 3、下载一个文件:
curl ftp://www.xxx.com/size.zip –u name:passwd -o size.zip
# 4、上载一个文件:
curl –u name:passwd -T size.mp3 ftp://www.xxx.com/mp3/
# 5、从服务器上删除文件(使用curl传递ftp协议的DELE命令):
curl –u name:passwd ftp://www.xxx.com/ -X 'DELE mp3/size.mp3'
6、另外curl不支持递归下载,不过可以用数组方式下载文件,比如我们要下载1-10.gif连续命名的文件:
# curl –u name:passwd ftp://www.xxx.com/img/[1-10].gif –O #O字母大写
7、要连续下载多个文件:
curl –u name:passwd ftp://www.xxx.com/img/[one,two,three].jpg –O #O字母大写
# 测试代理是否可用 301或200 表示可用
curl -so /dev/null -w "%{http_code}" https://www.google.com -x socks5://127.0.0.1:1080
# -w 指定输出某项内容,可选项如下所示
curl
url_effective: %{url_effective} 最终获取的url地址,尤其是当你指定给curl的地址存在301跳转,且通过-L继续追踪的情形。\r\n
http_code: %{http_code} 。\r\n
http_connect: %{http_connect} last response (from a proxy) to a curl CONNECT request。\r\n
time_total : %{time_total} 总时间,按秒计,精确到小数点后三位。\r\n
time_namelookup: %{time_namelookup} DNS解析时间,从请求开始到DNS解析完毕所用时间。\r\n
time_connect : %{time_connect} 从开始到建立TCP连接完成所用时间,包括前边DNS解析时间
time_appconnect: %{time_appconnect} 连接建立完成时间,如SSL/SSH等建立连接或者完成三次握手时间。\r\n
time_pretransfer: %{time_pretransfer} 从开始到准备传输的时间。\r\n
time_redirect: %{time_redirect} 重定向时间,包括到最后一次传输前的几次重定向的DNS解析,连接,预传输,传输时间。\r\n
time_starttransfer: %{time_starttransfer} 开始传输时间,在发出请求之后,Web 服务器返回数据的第一个字节所用的时间。\r\n
size_download: %{size_download} 。\r\n
size_upload: %{size_upload} 上传大小。\r\n
size_header: %{size_header} 下载的header的大小。\r\n
size_request: %{size_request} 请求的大小。\r\n
speed_download: %{speed_download} 下载速度,单位-字节每秒。\r\n
speed_upload: %{speed_upload} 上传速度,单位-字节每秒。\r\n
content_type: %{content_type} 。\r\n
num_connects: %{num_connects} 最近的的一次传输中创建的连接数目。\r\n
num_redirects: %{num_redirects} 在请求中跳转的次数。\r\n
redirect_url: %{redirect_url} 。\r\n
ftp_entry_path: %{ftp_entry_path} 当连接到远程的ftp服务器时的初始路径。\r\n
ssl_verify_result: %{ssl_verify_result} ssl认证结果,返回0表示认证成功。\r\n
Wget
wget -c # 端点续传,可以接上次中断处下载,否则会重命名闻见为xxx.1
wget -b # 后台下载
wget -e https_proxy=http://192.168.1.37:10808 https://github.com/1.txt # 代理
评论已关闭