下面列出了一些常用的命令:
1.下载单个文件,默认将输出打印到标准输出中(STDOUT)中
curl http://www.baidu.com
2.执行PHP脚本。
通过-o/-O选项保存下载的文件到指定的文件中:
-o:将文件保存为命令行中指定的文件名的文件中
curl -o demo.txt https://www.demo.com/test.php
-O:使用URL中默认的文件名保存文件到本地
curl -O https://www.demo.com/test.php
3.同时获取多个文件
curl -O URL1 -O URL2
4.curl 中 get 传参数的方法
由于url中有&其他参数获取不到,在linux系统中 &会使进程系统后台运行,必须对 &进行下转义才能 $_GET获取到所有参数
curl -s https://www.demo.com/test.php?a=1\&b=2\&c=3
curl -s "https://www.demo.com/test.php?a=1&b=2&c=3"
5.curl 中 post 传参数的方法
curl -d 'name=1&id=2' https://www.demo.com/test.php
注:默认情况下,通过POST方式传递过去的数据中若有特殊字符,首先需要将特殊字符转义在传递给服务器端,如value值中包含有空格,则需要先将空格转换成%20,如:
curl -d "name=u%20name&id=2" https://www.demo.com/test.php
在新版本的CURL中,提供了新的选项 –data-urlencode,通过该选项提供的参数会自动转义特殊字符。
curl --data-urlencode "name=u name&id=2" https://www.demo.com/test.php
指定一个文件,将该文件中的内容当作数据传递给服务器端
curl --data @filename https://www.demo.com/test.php
6.curl获得网站信息的方法( -s 表示静默 –head 表示取得head信息 )
curl -s --head www.baidu.com
7.断点续传
通过使用-C选项可对大文件使用断点续传功能
当文件在下载完成之前结束该进程
$ curl -O https://www.demo.com/test.html
通过添加-C选项继续对该文件进行下载,已经下载过的文件不会被重新下载
curl -C -O https://www.demo.com/test.html
8.CURL授权
在访问需要授权的页面时,可通过-u选项提供用户名和密码进行授权
通常的做法是在命令行只输入用户名,之后会提示输入密码,这样可以保证在查看历史记录时不会将密码泄露
curl -u username URL
9.从FTP服务器下载文件
CURL同样支持FTP下载,若在url中指定的是某个文件路径而非具体的某个要下载的文件名,CURL则会列出该目录下的所有文件名而并非下载该目录下的所有文件
列出public_html下的所有文件夹和文件
curl -u ftpuser:ftppass -O ftp://ftp_server/public_html/
10.下载xss.php文件
curl -u ftpuser:ftppass -O ftp://ftp_server/public_html/index.php
11.保存与使用网站cookie信息
将网站的cookies信息保存到sugarcookies文件中
curl -D sugarcookies https://www.demo.com/index.php
使用上次保存的cookie信息
curl -b sugarcookies https://www.demo.com/index.php
12上传文件
curl --form "fileupload=@filename.txt" https://www.demo.com/index.php