雷池社区版OPEN API使用教程

OPEN API使用教程

新版本接口支持API Token鉴权

image.png

接口文档官方没有提供,有需要可以自行爬取,爬了几个,其实也很方便

使用条件

  • 需要使用默认的 admin 用户登录才可见此功能
  • 版本需要 >= 6.6.0

使用方法

1.在系统管理创建API TOKEN image.png

2.发起请求,请求的header中增加额外的参数,如下

"X-SLCE-API-TOKEN": "雷池管理端生成的API Token"

案例参考

# python使用API Token添加站点案例import requests
import jsonheader = {"X-SLCE-API-TOKEN": "雷池管理端生成的API Token"
}
#添加站点的URL
url = 'https://雷池IP:9443/api/open/site'playload = {"ports":["80"],"server_names":["*"],"upstreams":["http://127.0.0.1:9443"],"comment":"","load_balance":{"balance_type":1}
}playload = json.dumps(playload)
requests.post(url=url,headers=header,data=playload,verify=False)#go语言案例
package mainimport ("bytes""crypto/tls""encoding/json""fmt""io/ioutil""net/http"
)func main() {url := "https://雷池IP:9443/api/open/site"token := "雷池管理端生成的API Token"payload := map[string]interface{}{"ports":         []string{"80"},"server_names":  []string{"*"},"upstreams":     []string{"http://127.0.0.1:9443"},"comment":       "","load_balance":  map[string]int{"balance_type": 1},}jsonData, _ := json.Marshal(payload)req, err := http.NewRequest("POST", url, bytes.NewBuffer(jsonData))if err != nil {fmt.Println("Request error:", err)return}req.Header.Set("Content-Type", "application/json")req.Header.Set("X-SLCE-API-TOKEN", token)client := &http.Client{Transport: &http.Transport{TLSClientConfig: &tls.Config{InsecureSkipVerify: true}},}resp, err := client.Do(req)if err != nil {fmt.Println("Error:", err)return}defer resp.Body.Close()body, _ := ioutil.ReadAll(resp.Body)fmt.Println("Response:", string(body))
}# php 案例
<?php
$url = "https://雷池IP:9443/api/open/site";
$api_token = "雷池管理端生成的API Token";$data = ["ports" => ["80"],"server_names" => ["*"],"upstreams" => ["http://127.0.0.1:9443"],"comment" => "","load_balance" => ["balance_type" => 1]
];$options = ["http" => ["header"  => ["Content-Type: application/json","X-SLCE-API-TOKEN: $api_token"],"method"  => "POST","content" => json_encode($data),"ignore_errors" => true,],"ssl" => ["verify_peer" => false,"verify_peer_name" => false,]
];$context  = stream_context_create($options);
$result = file_get_contents($url, false, $context);
if ($result === FALSE) { /* Handle error */ }
echo $result;
?># java案例
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.nio.charset.StandardCharsets;public class AddSite {public static void main(String[] args) {try {String url = "https://雷池IP:9443/api/open/site";String apiToken = "雷池管理端生成的API Token";String payload = """{"ports": ["80"],"server_names": ["*"],"upstreams": ["http://127.0.0.1:9443"],"comment": "","load_balance": {"balance_type": 1}}""";URL obj = new URL(url);HttpURLConnection con = (HttpURLConnection) obj.openConnection();con.setRequestMethod("POST");con.setRequestProperty("Content-Type", "application/json");con.setRequestProperty("X-SLCE-API-TOKEN", apiToken);con.setDoOutput(true);try (OutputStream os = con.getOutputStream()) {byte[] input = payload.getBytes(StandardCharsets.UTF_8);os.write(input, 0, input.length);}int responseCode = con.getResponseCode();System.out.println("Response Code: " + responseCode);// Further code to read the response can be added here} catch (Exception e) {e.printStackTrace();}}
}
# node.js案例
const https = require('https');const data = JSON.stringify({ports: ["80"],server_names: ["*"],upstreams: ["http://127.0.0.1:9443"],comment: "",load_balance: { balance_type: 1 }
});const options = {hostname: '雷池IP',port: 9443,path: '/api/open/site',method: 'POST',headers: {'Content-Type': 'application/json','X-SLCE-API-TOKEN': '雷池管理端生成的API Token'},rejectUnauthorized: false
};const req = https.request(options, (res) => {let data = '';res.on('data', (chunk) => { data += chunk; });res.on('end', () => { console.log('Response:', data); });
});req.on('error', (e) => { console.error(e); });
req.write(data);
req.end();
#ruby案例
require 'net/http'
require 'uri'
require 'json'
require 'openssl'url = URI("https://雷池IP:9443/api/open/site")
api_token = "雷池管理端生成的API Token"http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONErequest = Net::HTTP::Post.new(url)
request["Content-Type"] = "application/json"
request["X-SLCE-API-TOKEN"] = api_token
request.body = {ports: ["80"],server_names: ["*"],upstreams: ["http://127.0.0.1:9443"],comment: "",load_balance: { balance_type: 1 }
}.to_jsonresponse = http.request(request)
puts "Response:", response.read_body

大家可以结合熟悉的语言进行参考

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/58150.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

REST APIs与微服务:关键差异

在构建基于微服务的应用程序时RESYful API和微服务这两个术语经常相伴出现。然而&#xff0c;它们指的是截然不同的东西。 了解 RESTful API 和微服务之间差异的最简单方式是这样&#xff1a; 微服务&#xff1a;它们是构成更大规模基于微服务的应用程序的单个服务和功能&…

《金融数据安全分级指南JR/T 0197-2020》解读与想法

#1024程序员节&#xff5c;征文# 一、文件框架与核心思考 1、定级目标再审视 自《金融数据安全 数据安全分级指南JR/T 0197-2020》&#xff08;以下简称“指南”&#xff09;发布以来&#xff0c;金融数据安全领域已历经四年的发展与变革。该指南作为金融标准中首个以“金融数…

Docker 基础入门

Docker 基础入门 前言 在云计算和微服务架构日益盛行的今天&#xff0c;软件开发与部署的效率和灵活性成为了企业竞争力的关键因素之一。Docker&#xff0c;作为一种开源的容器化平台&#xff0c;凭借其轻量级、可移植性和易于管理的特性&#xff0c;迅速成为现代软件开发和运…

[云] 大数据分析栈(Big Data Analytics Stack)+ Apache Hadoop分布式文件系统(HDFS)+Apache Spark

任务概述 本次作业旨在帮助你理解大数据分析栈&#xff08;Big Data Analytics Stack&#xff09;的工作原理&#xff0c;并通过实际操作加深认识。你将搭建Apache Hadoop分布式文件系统&#xff08;HDFS&#xff09;作为底层文件系统&#xff0c;并将Apache Spark作为执行引擎…

Linux第二讲:Linux权限理解

Linux第二讲&#xff1a;Linux权限理解 1.shell命令以及运行原理2.Linux权限2.1什么是权限2.2认识人 -- 用户、普通用户、root用户&#xff0c;以及用户之间的切换2.3文件属性2.4文件权限知识点补充2.4.1知识点一2.4.2知识点二2.4.3知识点三2.4.4知识点四 3.角色的修改4.关于权…

Puppeteer 与浏览器版本兼容性:自动化测试的最佳实践

Puppeteer 支持的浏览器版本映射&#xff1a;从 v20.0.0 到 v23.6.0 自 Puppeteer v20.0.0 起&#xff0c;这个强大的自动化库开始支持与 Chrome 浏览器的无头模式和有头模式共享相同代码路径&#xff0c;为自动化测试带来了更多便利。从 v23.0.0 开始&#xff0c;Puppeteer 进…

可私有化部署的集装箱箱号自动识别技术,提供API 接口

启智集装箱箱号自动识别技术特点&#xff1a; 集装箱箱号自动识别技术为通过手机、相机等拍摄集装箱号码后进行视频处理或图像的去燥、纠偏、二值化等分析后进行字符的识别&#xff0c;箱号识别具有以下特点&#xff1a; 1&#xff09;快速&#xff1a;自动实时识别&#xff0c…

行为设计模式 -责任链模式- JAVA

责任链设计模式 一 .简介二. 案例2.1 抽象处理者(Handler)角色2.2 具体处理者(ConcreteHandler)角色2.3 测试 三. 结论3.1 优缺点3.2 示例3.3 要点 前言 这是我在这个网站整理的笔记,有错误的地方请指出&#xff0c;关注我&#xff0c;接下来还会持续更新。 作者&#xff1a;神…

智能优化算法-狐狸优化算法(FOX)(附源码)

目录 1.内容介绍 2.部分代码 3.实验结果 4.内容获取 1.内容介绍 狐狸优化算法 (Fox Optimization Algorithm, FOX) 是一种基于群体智能的元启发式优化算法&#xff0c;它模拟了狐狸的捕食行为、社会互动和环境适应能力&#xff0c;用于解决复杂的优化问题。 FOX的工作机制主要…

MR20一体式远程IO模块:引领工业自动化的创新之选

在快速发展的工业自动化领域&#xff0c;高效、可靠且易于维护的IO模块成为了众多企业的首选。其中&#xff0c;MR20系列一体式远程IO模块凭借其卓越的性能和人性化的设计&#xff0c;在众多IO模块中脱颖而出&#xff0c;成为工业自动化领域的璀璨明星。 小巧体积&#xff0c;高…

【CSS3】css开篇基础(4)

1.❤️❤️前言~&#x1f973;&#x1f389;&#x1f389;&#x1f389; Hello, Hello~ 亲爱的朋友们&#x1f44b;&#x1f44b;&#xff0c;这里是E绵绵呀✍️✍️。 如果你喜欢这篇文章&#xff0c;请别吝啬你的点赞❤️❤️和收藏&#x1f4d6;&#x1f4d6;。如果你对我的…

[免费]SpringBoot+Vue智慧校园(校园管理)系统[论文+源码+SQL脚本]

大家好&#xff0c;我是java1234_小锋老师&#xff0c;看到一个不错的SpringBootVue智慧校园(校园管理)系统&#xff0c;分享下哈。 项目视频演示 【免费】SpringBootVue智慧校园(校园管理)系统 Java毕业设计_哔哩哔哩_bilibili 项目介绍 随着信息技术的迅猛发展&#xff0c…

3DS MAX三维建模平面基础与修改工具(图形编辑与二维建模修改工具)

又是一年1024祝大家程序员节日快乐 3DS MAX三维建模平面基础与修改工具&#xff08;图形编辑与二维建模修改工具&#xff09; 欢迎大家来学习3DS MAX教程&#xff0c;在这里先说一下研究好3ds Max一定要一边看教程一边要自己学的操作才能更快的进步&#xff0c;预祝大家学习顺利…

Linux 进程间通信_匿名管道

1.程间通信目的 : 数据传输&#xff1a;一个进程需要将它的数据发送给另一个进程 资源共享&#xff1a;多个进程之间共享同样的资源。 通知事件&#xff1a;一个进程需要向另一个或一组进程发送消息&#xff0c;通知它&#xff08;它们&#xff09;发生了某种事件&#xff08;如…

家庭网络光猫到客厅通过VLAN实现单线复用

大部分家庭装修时没有提前考虑网线分布&#xff0c;一般装修公司都是从各个房间拉一根网线到弱电箱&#xff0c;就结束了&#xff0c;如下图。但是弱电箱在大部分家庭&#xff0c;空间非常小&#xff0c;很难放下一些常见的路由器&#xff0c;花大价钱买了个路由器作为主路由&a…

【C++】继承与模板

继承 1.继承的概念 概念&#xff1a;继承(inheritace)机制是面向对象程序设计使代码可以复用的最重要的手段&#xff0c;它允许程序员在保持原有类特性的基础上进行扩展&#xff0c;增加功能&#xff0c;这样产生新的类&#xff0c;称之为派生类。继承呈现了面向对象程序设计的…

信息安全工程师(68)可信计算技术与应用

前言 可信计算技术是一种计算机安全体系结构&#xff0c;旨在提高计算机系统在面临各种攻击和威胁时的安全性和保密性。 一、可信计算技术的定义与原理 可信计算技术通过包括硬件加密、受限访问以及计算机系统本身的完整性验证等技术手段&#xff0c;确保计算机系统在各种攻击和…

融合DevOps打造企业高效流程体系的实践与探索

一、引言 转眼间&#xff0c;我已毕业十多年&#xff0c;在IT领域深耕不辍&#xff0c;曾涉足全栈研发、大数据研发、架构设计与项目管理等多个岗位&#xff0c;更主导过公司从市场到交付再到运营的全链条流程建设。在这漫长的职业生涯中&#xff0c;一个问题始终萦绕在我心头&…

Linux安装部署数据库:PostgreSQL14

Linux安装部署数据库&#xff1a;PostgreSQL14 一、安装环境1、虚拟机环境2、下载安装包 二、安装步骤1、在线安装 PGSQL2、离线安装 PGSQL3、源码安装 PGSQL 三、基本操作1、初始化配置2、数据库登录3、常用命令项 四、常见问题1、对用户 "postgres" 的对等认证失败…

App测试环境部署

一.JDK安装 参考以下AndroidDevTools - Android开发工具 Android SDK下载 Android Studio下载 Gradle下载 SDK Tools下载 二.SDK安装 安装地址&#xff1a;https://www.androiddevtools.cn/ 解压 环境变量配置 变量名&#xff1a;ANDROID_SDK_HOME 参考步骤&#xff1a; A…