视频教程
传统RPC
插入websocket相关代码
!function () {
if (!window._makeRequest){
window._makeRequest = makeRequest;
var ws = new WebSocket("ws://127.0.0.1:16666");
ws.open = function (param){};
ws.onmessage=function(param){
var mdata=param.data;
var u=mdata.split('|')[0]
var p=mdata.split('|')[1]
var result = window._makeRequest(u,p, 7, false);
ws.send(JSON.stringify(result))
}
}
}();
Python websocket Server
# -*- coding: utf-8 -*-
# @Author: Null119 微信公众号/网站:治廷君
# @Desc: { js RPC示例 }
# @Date: { 2022/8/18 }
import asyncio,websockets
async def recv_msg(websocket):
while True:
print(await websocket.recv())
async def main(websocket,path):
await websocket.send('13388888888|testtest22222')
await recv_msg(websocket)
server=websockets.serve(main,'127.0.0.1',16666)
asyncio.get_event_loop().run_until_complete(server)
asyncio.get_event_loop().run_forever()
Sekiro框架
官方文档地址
demoServer下载地址
插入JS代码
if(!window._makeRequest){window._makeRequest = makeRequest}
通过油猴加载sekiro_web_client及SekiroClient相关代码
// ==UserScript==
// @name sekrio
// @namespace http://tampermonkey.net/
// @version 0.1
// @description try to take over the world!
// @author You
// @match https://weibo.com/*
// @icon https://www.google.com/s2/favicons?sz=64&domain=jianshu.com
// @grant none
// ==/UserScript==
(function() {
'use strict';
// Your code here...
var _mscript=document.createElement("script")
_mscript.src="https://sekiro.virjar.com/sekiro-doc/assets/sekiro_web_client.js"
document.body.appendChild(_mscript);
function sek_start(){
function guid() {
function S4() {
return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);
}
return (S4() + S4() + "-" + S4() + "-" + S4() + "-" + S4() + "-" + S4() + S4() + S4());
}
var client = new SekiroClient("ws://127.0.0.1:5620/business-demo/register?group=test&clientId=" + guid());
client.registerAction("makeRequest", function (request, resolve, reject) {
try {
var _user=request['user']
var _psw=request['psw']
var result=JSON.stringify(window._makeRequest(_user,_psw,7,false))
resolve(result);
} catch (e) {
reject("error: " + e);
}
});
}
setTimeout(sek_start,2000)
})();
RPC调用(python示例)
# -*- coding: utf-8 -*-
# @Author: Null119 微信公众号/网站:治廷君
# @Desc: { 微博登录Sekiro_RPC示例 }
# @Date: { 2022/8/18 }
import requests
r=requests.Session()
pdata={
'group':'test',
'action':'makeRequest',
'user':'13255557777',
'psw':'8888888567'
}
response=requests.get("http://127.0.0.1:5620/business-demo/invoke",params=pdata)
print(response.text)
声明:①本站为个人博客,博客所发布的一切修改补丁、注册机和注册信息及软件的文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。②本站信息来自网络,版权争议与本站无关,您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。访问和下载本站内容,说明您已同意上述条款。③本站为非盈利性站点,VIP功能仅仅作为用户喜欢本站捐赠打赏功能,不开通VIP同样可以通过每日签到免费获取积分下载所有软件资源,本站不贩卖软件,所有内容不作为商业行为。