yum update -y && yum install curl -y
curl 模拟HTTP请求
- 默认get请求:
curl http://www.baidu.com curl -i "http://www.baidu.com" # 显示全部信息 curl -I "http://www.baidu.com" # 只显示头部信息 curl -v "http://www.baidu.com" # 显示get请求全过程解析
- post请求:
curl -X POST www.baidu.com
-X/--request [GET|POST|PUT|DELETE|…] 指定请求的方式 -H/--header 指定请求header -i/--include 显示返回的header -d/--data 指定参数 -v/--verbose 输出更详细信息 -u/--user 授权帐号和密码 -b/--cookie cookie curl -X GET "http://www.rest.com/api/users" #GET请求 curl -X POST "http://www.rest.com/api/users" #POST请求 curl -X PUT "http://www.rest.com/api/users" #PUT请求 curl -X DELETE "http://www.rest.com/api/users" #DELETE请求
# -d 带请求参数: curl -X POST <url> -d <data> curl -i -XPOST "http://127.0.0.1/create_user" -d '{"name":"xxx", "age":23}' # -H head curl -i -XPOST "http://127.0.0.1/create_user" -d '{"name":"xxx", "age":23}' -H "Content-Type: application/json" curl -d "username=user1&password=123" "www.baidu.com/login" {"name":"xxx", "age":23} curl -i -XPOST "http://127.0.0.1/create_user" -d @test.json
- Authentication如果网站采用了HTTP基本认证,可以使用--user username:password进行授权
curl -i --user suraer:secret "http://www.rest.com/api/foo"
-I
只显示头部信息。-i
显示全部信息。-v
显示解析全过程。-X
只显示请求结果-F
指定请求参数-w
将请求结果输入到文件而不是标准输出-o
请求完成后使用自定义格式输出-s
静默模式(不要输出任何东西)-I
参数 静默访问:curl -I http://www.baidu.com
wget命令请求
- get请求
wget "http://www.baidu.com?version=1&client_version=1.1"
- post请求
wget –post-data 'username=user1&password=123' http://www.baidu.com
curl和wget区别
curl模拟的访问请求一般直接在控制台显示,而wget则把结果保存为一个文件。如果结果内容比较少,需要直接看到结果可以考虑使用curl进行模拟请求,如果返回结果比较多,则可考虑wget进行模拟请求。
curl是一个综合传输工具,既可以用来上传文件,也可以用来下载文件,在日常使用过程中,它通常都是以下载工具的角色出现,常用来检验一个网址是否可以访问。与cURL命令相似的,还有wget命令,二者在功能上具有很多类似的地方,但cURL由于可自定义各种请求参数所以在模拟Web请求方面更优秀;wget对于于支持ftp和Recursive所以在下载文件方面更擅长。wget是下载网站的最佳工具,能够递归遍历目录和链接,可以下载整个网站。