curl 命令相关

Curl是一个命令行工具,用于传输使用URL语法指定的数据。
以Centos 7.4 为例

参数

参数 简写 备注
--request -X 指定请求的方式 [GET|POST|PUT|DELETE|…]
--header -H 指定请求header
--include -i 显示返回的header
--data -d 指定参数
--verbose -v 输出更详细信息
--user -u 授权帐号和密码
--cookie -b cookie

示例

GET/POST/PUT/DELETE

curl -X GET "http://www.rest.com/api/users"
curl -X POST "http://www.rest.com/api/users"
curl -X PUT "http://www.rest.com/api/users"
curl -X DELETE "http://www.rest.com/api/users"

HEADER

curl -v -i -H "Content-Type: application/json" "http://www.example.com/users"

参数

# 使用 `&` 串接多個參數
curl -X POST -d "param1=value1&param2=value2"
# 也可使用多個 `-d`,效果同上
curl -X POST -d "param1=value1" -d "param2=value2"

JSON 格式参数

# 如果需要同时传送 request parameter 和 json,request parameter 可以加在 url 后面,json 参数放入 -d 的参数,header 要加入 "Content-Type:application/json"

curl http://www.example.com?modifier=kent -X PUT -i -H "Content-Type:application/json" -H "Accept:application/json" -d '{"boolean" : false, "foo" : "bar"}'
# 不加"Accept:application/json"也可以
curl http://www.example.com?modifier=kent -X PUT -i -H "Content-Type:application/json" -d '{"boolean" : false, "foo" : "bar"}'

登录认证(session / cookie)

# session
curl -X GET 'http://www.rest.com/api/users' -H 'sessionid:1234567890987654321'

# cookie
# 将 cookie 存档
curl -i -X POST -d username=kent -d password=kent123 -c ~/cookie.txt "http://www.rest.com/auth"
# 将 cookie 设置到 request 中 
curl -i -X "Accept:application/json" -X GET -b ~/cookie.txt "http://www.rest.com/users/1"
© 2024 www.wdg.pub all right reserved Last modified: 2024-06-14

results matching ""

    No results matching ""