-
curl :command line tool and library for transferring data with URLs
-
curl 命令,常用缩写:
curl 命令 | 缩写 | 说明 |
---|---|---|
curl --request COMMAND | curl -X COMMAND | --request 用-X 代替 |
curl --header LINE | curl -H LINE | --header 用-H 代替 |
curl --data DATA | curl -d DATA | --data 用-d 代替 |
- curl 常用命令(GET、POST、PUT、DELETE等需要大写):
命令 | 说明 |
---|---|
curl [url] | 查看网页源码 |
curl -o [文件名] [url] | 保存网页 |
curl -L [url] | 自动跳转网址 |
curl -i [url] | -i 参数可以显示http response的头信息,连同网页代码一起。 |
curl -I [url] | -I 参数则是只显示http response的头信息。 |
curl -v [url] | -v 参数可以显示一次http通信的整个过程,包括端口连接和http request头信息。 |
curl --trace [文件名] [url] | 把信息输出到文件 |
curl --trace-ascii [文件名] [url] | 把信息输出到文件 |
curl example.com/form.cgi?data=xxx | get方式发送表单 |
curl -X POST --data "data=xxx" example.com/form.cgi | post方式发送表单 |
curl -X POST--data-urlencode "date=April 1" example.com/form.cgi | 数据没有经过表单编码,还可以让curl为你编码,参数是--data-urlencode |
curl -X DELETE www.example.com | curl默认的HTTP动词是GET,使用-X 参数可以支持其他动词 |
curl --form upload=@localfilename --form press=OK [URL] | 上传文件 |
curl --referer http://www.example.com http://www.example.com | 在http request头信息中,提供一个referer字段,表示你是从哪里跳转过来的 |
curl --user-agent "[User Agent]" [URL] | 发送User Agent |
curl --cookie "name=xxx" www.example.com | 发送cookie |
curl -c [文件名] http://example.com | -c cookie-file 可以保存服务器返回的cookie到文件 |
curl -b [文件名] http://example.com | -b cookie-file 可以使用这个文件作为cookie信息,进行后续的请求 |
curl --header "Content-Type:application/json" http://example.com | 在http request之中,自行增加一个头信息 |
curl --user name:password example.com | 有些网域需要HTTP认证,这时curl需要用到--user 参数。 |
- 文件上传
假定文件上传的表单是下面这样:
<form method="POST" enctype='multipart/form-data' action="upload.cgi">
<input type=file name=upload>
<input type=submit name=press value="OK">
</form>
你可以用curl这样上传文件:
$ curl --form upload=@localfilename --form press=OK [URL]