0%

CURL 的常见的使用方法

CURL 是最简单的发送 http 请求的方法之一,在 Linux 上用来模拟请求和测试 API 十分有用,这里记录一下 CURL 常见的使用方法。

发送 GET 请求

发送 GET 请求非常简单,只需要在命令后直接跟上 URL 就可以了。

1
curl "http://www.baidu.com"

发送其他 HTTP 动词

除了 GET 以外,我们经常还会用到诸如 POST,PUT,DELETE 等动词,只要加上 -x 参数就可以了。

1
curl -X POST "http://www.weibo.com/login"

添加请求参数

发送 GET 请求非常简单,只需要在 URL 后添加所需参数即可。

1
curl "http://www.baidu.com?s=hello"

发送其他类型的请求可以用 --data 或者 -d 选项指定参数。

1
curl -X "http://www.weibo.com/login" -d "name=master&password=123456"

发送带有文件需要使用 multipart/form-data 类型的 Content-Type。使用 CURL 发送文件也很简单,使用 –form 参数即可。其中文件类型需要加上@,然后指定文件位置;字符串类型则直接使用字符串值即可。

1
curl --form "headimg=@1.jpg" --form "user=master" "http://www.weibo.com/profile"

获取 Header 信息

有时候我们想看到响应的头信息来进行调试。只需要添加 -I 参数即可。

1
curl -I "http://www.baidu.com"

显示连接过程

使用 -V 参数可以得到连接的详细信息。包括端口连接和 HTTP 请求的全文。

1
curl -v "https://www.baidu.com"
1
curl --cookie "SESSIONID=2123112312" "http://user.qq.com"

添加 Header

1
curl --header "Content-Type:application/json" "http://test.qq.com"

HTTP 认证

有些网站可能启用了 Http 基本认证,需要指定用户名和密码才可以访问。这时使用 --user 参数就可以了。

1
curl --user "foo=bar" "http://auth.test.com"