curl

来自百合仙子's Wiki
跳转到导航 跳转到搜索

默认情况下,curl获取远程文件并把它打印到标准输出。

参数

输出

-i, --include
包含头部信息
-I, --head
只获取头信息( HEAD 方法)
-s
不显示进度。默认情况下在使用管道时进度信息会显示在标准错误上
-S
出错时显示消息,与 -s 连用
-o, --output
输出到指定文件
-O
按远程文件名原名保存
-v
显示请求头和响应头等信息
--libcurl <file>
生成对应的 libcurl 调用代码(HTTP 操作仍会执行)

输入

-d, --data
指定 POST 数据,类型为 application/x-www-form-urlencoded ,与 -F 选项不同。给定 -G 时使用 GET
-A, --user-agent
指定UserAgent
-e, --referer
指定referer
-G, --get
在提交表单数据时使用 GET 方法
-H, --header HEADLINE
指定任意头信息
-u, --user
指定用户名和密码,形式 username:password
-F name=value
指定表单数据,类型为 multipart/form-data ,与 -d 不同;上传文件时 value@filename 。可以指定类型或者文件名,如:
curl -F "file=@localfile;filename=nameinpost" url.com
-g
禁用通配符。在目标地址为 IPv6 地址时必须[1]
-T file_pattern
上传文件。如用于 FTP 上传或者 HTTPPUT 方法。

代理

使用 socks5 代理解析域名并下载文件:

curl --socks5-hostname 127.0.0.1:1080 'http://www.example.net' -o filename

本地解析域名,使用 --socks5 参数。

当同时使用 --connect-to--socks5-hostname 时,curl 会设置 socks5 代理连接的地址类型为域名,但值却为 --connect-to 中指定的 IP。

通配符

curl -o '#2_#1.jpg' http://cgi2.tky.3web.ne.jp/~{zzh,nick}/[001-201].jpg

协议

FTP

通过 FTP 上传文件:

curl -T file -u user:pass ftp://host/path

dict 协议

curl 支持 dict 协议[2]查词典:

curl dict://dict.org/d:computer

参见

  • proxychains,支持多种多重代理,但使用配置文件而不是命令行设置。
  • wget

外部链接

参考资料