LInux命令执行http请求
2024-08-24 23:02:49
Linux下提供了一些命令可以直接执行http请求,下面举例来介绍几个命令。
http
// GET请求
http http://127.0.0.1:2379/version
http GET http://127.0.0.1:2379/v2/keys/message
// PUT请求
http PUT http://127.0.0.1:2379/v2/keys/message value=="hello"
http PUT http://127.0.0.1:2379/v2/keys/tempkey value=="Gone" ttl==5
// DELETE请求
http DELETE http://127.0.0.1:2379/v2/keys/message
// POST请求
http POST http://127.0.0.1:8081/api/v1/platform/create name='123' code='123' url='http://www.baidu.com'
curl
curl请求有许多参数,如下
-X/--request [GET|POST|PUT|DELETE|…] 指定请求的方式
-H/--header 指定请求header
-i/--include 显示返回的header
-d/--data 指定参数
-v/--verbose 输出更详细信息
-u/--user 授权帐号和密码
-b/--cookie cookie
下面针对每个参数举例说明如何使用
GET/POST/PUT/DELETE
curl -X GET "http://www.rest.com/api/users"
curl -X POST "http://www.rest.com/api/users"
curl -X PUT "http://www.rest.com/api/users"
curl -X DELETE "http://www.rest.com/api/users"
HEADER
curl -v -i -H "Content-Type: application/json" http://www.example.com/users
参数
// 使用`&`串接多個參數
curl -X POST -d "param1=value1¶m2=value2"
// 也可使用多個`-d`,效果同上
curl -X POST -d "param1=value1" -d "param2=value2"
JSON格式资料
如果需要同时传送request parameter和json,request parameter可以加在url后面,json资料放入-d的参数,header要加入"Content-Type:application/json"
curl http://www.example.com?modifier=kent -X PUT -i -H "Content-Type:application/json" -H "Accept:application/json" -d '{"boolean" : false, "foo" : "bar"}'
// 不加"Accept:application/json"也可以
curl http://www.example.com?modifier=kent -X PUT -i -H "Content-Type:application/json" -d '{"boolean" : false, "foo" : "bar"}'
需要认证或登录
这部分主要有两种方式:session和cookie。
后端如果是session记录使用者登录信息会回传一个session id给前端,前端需要在每次跟后端的requests的headers中置入此session id,后端便会以此session id识别前端是属于哪个session。
curl --request GET 'http://www.rest.com/api/users' --header 'sessionid:1234567890987654321'
如果是使用cookie,在登录后,后端会回一个cookie回来,把该cookie存档,当下次请求时,再用-b cookie_file的方式在request中植入cookie即可。
// 將cookie存檔
curl -i -X POST -d username=kent -d password=kent123 -c ~/cookie.txt http://www.rest.com/auth
// 載入cookie到request中
curl -i --header "Accept:application/json" -X GET -b ~/cookie.txt http://www.rest.com/users/1
Authentication
如果网站采用了HTTP基本认证,可以使用--user username:password进行授权
curl -i --user suraer:secret "http://www.rest.com/api/foo"
参考链接: http://ju.outofmemory.cn/entry/84875
wget
和curl相似的,如果url路径指向一个文件或者图片的话,可以直接下载该文件或者图片。
这里只距离说明发送get和post请求的简单使用,具体内容可以查看相关资料。
// get请求
wget "http://www.baidu.com"
// post请求
wget --post-data 'user=foo&password=bar' http://www.baidu.com
最新文章
- 使用SignalR为FineUI/Webform打造消息总线
- 常见JS(JavaScript)冲突解决方法
- UVa 10253 (组合数 递推) Series-Parallel Networks
- pngfix 实现Png图片透明效果
- HTML5给我们带来了什么?
- huffman编码——原理与实现
- 调用本地摄像头拍照(H5和画布)
- zookeeper命令行操作
- BZOJ 1444: [Jsoi2009]有趣的游戏 [AC自动机 高斯消元]
- MyISAM和InnoDB索引实现区别
- Cocos2D将v1.0的tileMap游戏转换到v3.4中一例(一)
- Spark2.1.0——运行环境准备
- Python中os和sys模块中常用的方法
- System.IO.Pipelines: .NET上高性能IO
- python之Django学习笔记(二)---Django从工程创建、app创建到表建模在页面的显示
- U面经Prepare: Print Binary Tree With No Two Nodes Share The Same Column
- jQuery学习(监听DOM加载)
- 比对软件之STAR的使用方法
- 关于http请求时 安全协议问题 PKIX path building failed 解决办法
- 计算机意外地重新启动或遇到错误。windows安装无法继续。若要安装windows 请单击 确定 重新启动计算机