admin管理员组文章数量:1619183
文章目录
- 一、概述
-
- 关键因素
- 难点
- 二、开始请求
-
- 端口与token的获取
-
- 手动获取
- 代码获取
- 处理token
- https处理
- 三、一些相关的api
这是一篇关于LOL官方api的调用起步教程,语言为C#为主,以及python的部分代码示例,此篇会说明调用成功的必要点,以及难点部分。
一、概述
手动启动客户端,wegame启动也可。启动后,api的调用环境就达到要求了。
关键因素
大部分的API的的请求头(head)内容是一样的,解决head所需参数和 url的端口 是关键点。
1)head结构如下:
{
"Accept":"application/json"
"Content-Type":"application/json"
"Authorization":"Basic xxxxxxxxxxx"
}
2)关于url
整体结构:固定前缀+“:”+端口+“/”+具体请求api。例如:https://127.0.0.1:54379/data-store/v1/install-dir
- 固定前缀:https://127.0.0.1
- 端口:xxx
- 具体请求api:不同的api此处不同,例如:data-store/v1/install-dir是用来获取客户端运行程序的安装地址的
3)总结:
- 关键需要的数据是token和port端口
- 客户端每次启动都会刷新这两个值
难点
1)https请求
需要对认证进行处理
2)获取端口和token时,需要获取管理员权限
二、开始请求
端口与token的获取
手动获取
必须以管理员权限打开CMD命令窗,输入以下内容获取基本数据
wmic PROCESS WHERE name='LeagueClientUx.exe' GET commandline
获取内容如下:
提取关键点:
//端口
--app-port=xxxx
//token
--remoting-auth-token=xxxxx
代码获取
此时就涉及到如何获取管理员权限了,无需密码的方式,使某些代码在管理员权限下进行运行。此处表现出来的就是CMD命令的管理员权限需求。
//此处贴核心代码块,有些自己习惯写法不写在此处
public const string API_FILENAME = "api_file.txt";
public const string COMMAND = "wmic PROCESS WHERE name='LeagueClientUx.exe' GET commandline";
....
public bool IsAdministrator()
{
WindowsIdentity identity = WindowsIdentity.GetCurrent();
WindowsPrincipal principal = new WindowsPrincipal(identity);
return principal.IsInRole(System.Security.Principal.WindowsBuiltInRole.Administrator);
}
...
if (IsAdministrator())
{
var result = CMD(COMMAND);
Console.WriteLine(result);
//写入文件持久化,开启管理方式有异步操作
using (StreamWriter sw = File.CreateText(API_FILENAME))
{
版权声明:本文标题:LOL英雄联盟官方API调用 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/xitong/1728792837a1173879.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论