1、在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,http请求指的是客户端向服务端的请求消息,http请求主要分为get或post请求两种,在linux测试环境中,可以通过curl或wget命令和模拟http请求。
2、 基本用法: 基本用法:
# curl http://www.linux.com
3、通过get方式访问接口:
curl -H "Referer: www.example.com" -H "User-Agent: Custom-User-Agent" http://www.baidu.com
4、通过POST方式访问接口:
curl -d “key=value&key=value” “http://www.baidu.com”
也可以发送json格式化请求,-H指的是请求的头信息,多个头信息加多个-H即可,-d用于指定的发送的数据,-X用于指定请求的方式
curl -H "Content-type: application/json" -X POST -d '{"username":"lisi","password":"123"}' http://127.0.0.1:8080/user/getUser
`
1、通过curl获取页面的内容
当我们不加任何的选项使用curl时,默认会发送GET请求来获取链接内容输出
curl http://www.baidu.com
2、显示http头信息,-I选项是只显示http头信息,-i则同时显示http头信息和文件内容
curl -I http://www.baidu.com
curl -i http://www.baidu.com
3、将访问的资源保存到本地,-o:结果会保存到命令行中提供的文件名,-O:文件名会被用作输出保存的文件名,注意的是使用-O时,确保链接的末尾包含文件名,也可以同时下载多个文件,加上多个即可
curl -o info.html http://www.baodu.com/info.html
curl -O http://www.index.com/info.html
下载多个============================================
curl -O http://www.baidu.com/info.html -0 http://baidu.com/info2.html
curl -o info1.html http://www.baidu.com/info.html -o info2.html http://www.baidu.com/info2.html
4、使用-L跟随重定向,有些网站,访问某个资源会重定向到另外一个网页,可以使用-L进行跟随
curl -L http://baidu.com
5、使用-A自定义用户代理,可以进行伪装成某个浏览器对网页进行请求
curl -A "Mozilla/5.0 (Android; Mobile; rv:35.0) Gecko/35.0 Firefox/35.0" http://www.baidu.com
6、用-H自定义header头信息
curl -H "Content-type: application/json" -H "Content-type: application/json" -X POST -d '{"username":"lisi","password":"123"}' http://127.0.0.1:8080/user/getUser
7、使用-c保存cookie,使用-b保存起来的cookie,-c后面跟上要保存的文件名,使用-b从文件中读取cookie
curl -c "cookie-name" http://www.baidu.com
curl -b "cookie-name" http://www.baidu.com
8、使用-d发送POST请求,-d用于指定发送的数据,-X用于指定发送数据的方式,默认情况下,使用-d,省略-x,则默认为POST方式,可以强制使用GET方式,也也可以从文件名读取数据进行访问
curl -d "userName=lisi&passwd=123" -X POST http://www.baidu.com
curl -d "@somedata.txt" http://www.baidu.com