LOL英雄联盟官方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
  • 9
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值