openstack的api初级使用教程【xxh今年最重要的一篇总结】

学习此文的技巧来自于老男孩openstack林海峰老师的教程《第25讲 openstack的api》:https://www.bilibili.com/video/BV1LJ411Y7og?p=25和https://www.qstack.com.cn/archives/168.html

其中我学到的技巧包括:

(1)openstack官方文档的api使用

(2)不借助官方文档,直接用wireshark抓包工具,抓出所需要的构造url的方法,直接使用。

image.png

(1)-H指定head,也就是指定http头哪些需要的参数。(譬如我们抓的追踪流-http流  头部的X-Auth-Token:和Content-Type:都可以用-H指定)

curl -H "X-Auth-Token:gAAAAABaMImzumUV648tH56PGK38DlE9Jz0G2qg0pv5M7XlrZu1XoXMacvOsJXHH9NgvovrfgeJR-DlFPRrE0wpqdHW9VkSLWwuGZtaKkcX7zRlehrHttLPTigz9UPdQi4GrZ7u2APIG6kIsyKLiVLkUMMDen02FWKQGKZT8eOG2gx-OKDAV1cE" -H "Content-Type: application/json" http://10.0.0.11:9292/v2/images


curl -H "X-Auth-Token:$token" -H "Content-Type: application/json" http://10.0.0.11:9292/v2/images


(2)-X指定POST GET DELETE等方法,当然默认不写-X就是指定GET,如果是POST  DELETE等方法则必须显示用-X POST或者——X DELETE等指定


(3)-d后面可以指定带的数据。一般都是带json串。譬如

curl -i -X POST -H "Content-type: application/json" -d '这引号里面填写json串(抓的追踪流-http流里面有json串的数据,贴过来稍微修改下即可)' http://10.0.0.11:5000/v3/auth/tokens


curl -i -X POST -H "Content-type: application/json" \
{
"auth": {
"identity": {
"methods": [
"password"
],
"password": {
"user": {
"domain": {
"name": "default"
},
"name": "admin",
"password": "ADMIN_PASS"
}
}
},
"scope": {
"project": {
"domain": {
"name": "default"
},
"name": "admin"
}
}
}
}-d '' http://10.0.0.11:5000/v3/auth/tokens

image.png

PS即你必须你得到了一个下面wireshark的流,你必须会


image.png

你得到上图1/2/3/4/5/6/7这段包,你就要学会用curl构造对应的请求

1说明是post

2就是url的后半部,即/v2.1/c26a0…………17c/servers

3证明url的前面写的是http,即http

4说明url的的中间部分主机和端口,即controller:8774

5说明-H "Content-Type: application/json"

6说明-H "X-Auth-Token:$gAAAA…………"

7说明带的json数据


curl  -X 1 -H 5 -H 6 -d '7' 3://4/2

curl  -X 1 -H 5 -H 6 -d '7' http://controller:8774/v2.1/c26a0…………17c/servers


PS2:后期weibo、weixin、douyin的api编程都可以这样尝试抓包试试哈!举一反三!!!


猜你喜欢

转载自blog.51cto.com/8189171/2546769