参考文献

cURL

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# 基础用法
curl URL

# POST
curl -X -POST URL
curl -XPOST URL
curl -XPOST URL -d '{}'
# --data-urlencode参数等同于-d,发送 POST 请求的数据体,区别在于会自动将发送的数据进行 URL 编码。
curl --data-urlencode 'comment=hello world' URL


# DELETE
curl -XDELETE URL

# Header
curl URL -H 首部
curl URL -H 'Content-Type:application/json' -H 'xx'
# 获取请求首部信息
curl -I URL

# 下载文件
# -O参数将服务器回应保存成文件,并将 URL 的最后部分当作文件名。
curl -O URL
# -o参数将服务器的回应保存成文件,等同于wget命令。
curl -o 文件名 URL
# 下载多个文件
curl -o 文件名 URL -o 文件名 URL
# 限速下载
curl --limit-rate 速度 URL
curl --limit-rate 100k URL
# 续传
curl -C - -o 文件名 URL
# 用户名密码授权下载
curl -u username:password URL
# FTP
# 如果没有指明文件 会列出目录下所有文件
curl -u ftpuser:ftppass -O ftp://....
curl -u ftpuser:ftppass -T myfile.txt ftp:/.........
curl -u ftpuse:ftppass -T "{file1, file2}" ftp://......


# 跟随重定向
curl -L URL
# 保存cookie
curl -c 文件名 URL
# 发送cookie
curl -b 'foo=bar' URL

# 设置代理
# -x参数指定 HTTP 请求的代理。
curl -x proxyurl:proxyport url
curl --proxy 协议://用户名:密码@代理地址:端口 URL
curl --proxy "http://egg:123@127.0.0.1:1234" URL

# -S参数指定只输出错误信息,通常与-s一起使用。
curl -s -o /dev/null URL

# 调试
# 参数输出通信的整个过程,用于调试。
cur -v URL
# --trace参数也可以用于调试,还会输出原始的二进制数据。
curl --trace - URL