linux命令之curl

Curl使用

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

常见参数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
-A/--user-agent <string>              设置用户代理发送给服务器
-b/--cookie <name=string/file> cookie字符串或文件读取位置
-c/--cookie-jar <file> 操作结束后把cookie写入到这个文件中
-C/--continue-at <offset> 断点续转
-D/--dump-header <file> 把header信息写入到该文件中
-e/--referer 来源网址
-f/--fail 连接失败时不显示http错误
-o/--output 把输出写到该文件中
-O/--remote-name 把输出写到该文件中,保留远程文件的文件名
-r/--range <range> 检索来自HTTP/1.1或FTP服务器字节范围
-s/--silent 静音模式。不输出任何东西
-T/--upload-file <file> 上传文件
-u/--user <user[:password]> 设置服务器的用户和密码
-w/--write-out [format] 什么输出完成后
-x/--proxy <host[:port]> 在给定的端口上使用HTTP代理
-#/--progress-bar 进度条显示当前的传送状态

请求方式

1)GET

1
curl -X GET http://www.baidu.com/search?data=123  // -X GET是可选的

2)POST

1
curl -X POST -d"data=123&key=456" http://www.baidu.com/search -v    // -v显示详细信息

使用JSON形式post数据

1
curl -H "Content-Type:application/json" -d '{"data":"123","key":"456"}' http://www.baidu.com/search -v

请求时附带Cookie

1
curl -H "Cookie:username=XXX" http://www.baidu.com/search
  • -H增加头部信息

Cookie

-c

存储cookie到文件

1
curl -d"name=test&password=test" http://www.baidu.com/login -c ./cookie

-b

携带cookie文件

1
curl http://www.baidu.com/login -b ./cookie

指定cookie

1
curl --cookie "name=test" http://www.baidu.com/login