使用CURL发送HTTP的请求
我们可以把curl当做一个web客户端来使用,发送http的请求和接受相应的应答。
使用
curl "http://www.360converter.com"
如果后面请求的url,上面这个例子中是http://www.360converter.com中没有请求字符串,则可以不用双引号,变成
curl http://www.360converter.com
但是如果有,例如:
curl "http://www.360converter.com?type=video"
则一定要加双引号,否则会出错。什么错呢,你可以自己试试。
如果想查看发送了什么样的请求,可以加一个参数 -v
curl -v "http://www.360converter.com"
输出
POST /0/token HTTP/1.1
User-Agent: curl/7.33.0
Host: auth.kanbox.com
Accept: */*
Content-Length: 208
Content-Type: application/x-www-form-urlencoded
upload completely sent off: 208 out of 208 bytes
HTTP/1.1 400 Bad Request
Server Tengine/1.5.1 is not blacklisted
Server: Tengine/1.5.1
Date: Fri, 12 Sep 2014 03:51:30 GMT
Content-Type: application/json
Transfer-Encoding: chunked
Connection: keep-alive
X-Powered-By: PHP/5.2.15
Cache-Control: no-store
……
如果你请求的是https的web,但是对方的证书不是通过CA认证的话,curl拒绝执行请求,这个时候,你可以使用选项 -k 告诉curl忽略它。
curl -v -k "https://www.360converter.com"
POST的http
如果post,使用–data选项,
curl -v -k "para1=123¶2=test" "https://www.360converter.com"
上传文件
假设你上传文件的form这样写的
<form method="POST" enctype='multipart/form-data' action="upload.cgi">
<input type=file name=upload> <input type=submit name=press value="OK">
</form>
那么你可以使用下面的命令上传文件
curl --data "birthyear=1905&press=OK&person=daniel" [URL]
设置http的头
curl –user-agent "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)"http://www.360converter.com
设置cookie
curl --cookie "name=Daniel" http://www.360converter.com
参考:
http://curl.haxx.se/docs/httpscripting.html
版权所有,禁止转载. 如需转载,请先征得博主的同意,并且表明文章出处,否则按侵权处理.