-
常用参数如下:
-c,–cookie-jar:将cookie写入到文件
-b,–cookie:从文件中读取cookie
-C,–continue-at:断点续传
-d,–data:http post方式传送数据
-D,–dump-header:把header信息写入到文件
-F,–from:模拟http表达提交数据
-s,–slient:减少输出信息
-o,–output:将信息输出到文件
-O,–remote-name:按照服务器上的文件名,存在本地
–l,–head:仅返回头部信息
-u,–user[user:pass]:设置http认证用户和密码
-T,–upload-file:上传文件
-e,–referer:指定引用地址
-x,–proxy:指定代理服务器地址和端口
-w,–write-out:输出指定格式内容
–retry:重试次数
–connect-timeout:指定尝试连接的最大时间/s
-
使用示例:
例1:抓取页面到指定文件,如果有乱码可以使用iconv转码
# curl -o baidu.html www.baidu.com
# curl –s –o baidu.html www.baidu.com |iconv -f utf-8 #减少输出信息
例2:模拟浏览器头(user-agent)
# curl -A “Mozilla/4.0 (compatible;MSIE 6.0; Windows NT 5.0)” www.baidu.com
例3:处理重定向页面
# curl –L http://192.168.1.100/301.php #默认curl是不处理重定向
例4:模拟用户登陆,保存cookie信息到cookies.txt文件,再使用cookie登陆
# curl -c ./cookies.txt -F NAME=user -F PWD=***URL 本文所有的概念都可以从《Linux就该这么学》中找到详细的解释。#NAME和PWD是表单属性不同,每个网站基本都不同
# curl -b ./cookies.txt –o URL
例5:获取HTTP响应头headers
# curl -I http://www.baidu.com
# curl -D ./header.txt http://www.baidu.com #将headers保存到文件中
例6:访问HTTP认证页面
# curl –u user:pass URL
例7:通过ftp上传和下载文件
# curl -T filename ftp://user:pass@ip/docs #上传
# curl -O ftp://user:pass@ip/filename #下载