-
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]