Schnittstelle zum entfernten Starten eines Skripts
-
Schnittstellenbeschreibung
POST /spawn HTTP/1.1
spawn_args: {"Skriptstartparameter":...}
[Skriptinhalt] -
Mögliche Antworten
{"code":1,"message":"操作失败"}{"code":2,"message":"脚本有语法错误","detail":"具体的错误信息"}{"code":3,"message":"已经有脚本正在运行中"}{"code":233,"message":"未知错误"} -
Hinweise
- [Skriptstartparameter] ist eine druckbare Zeichenfolge ohne Zeilenumbruch.
- [Skriptinhalt] ist der Skriptinhalt und kann Text oder verschlüsselte Binärdaten enthalten.
- Das Skript kann die Skriptstartparameter über proc_get oder proc_take abrufen.
- Das Skript wird nicht als Datei auf dem Gerät gespeichert, sondern nur ausgeführt.
- Ausnahme zum vorherigen Punkt: Wenn auf dem Gerät der Skript-Wächtermodus aktiviert ist, werden gerätebezogene Skriptdaten zwischengespeichert.
-
Beispiel
Beispielsweise kann folgende Anfrage erstellt und an das Gerät gesendet werden:
POST /spawn HTTP/1.1
spawn_args: {"server_ip":"192.168.31.13","port":55555}
Content-Length: 123
local args = proc_get("spawn_args")
args = json.decode(args)
sys.alert("帐号服务器的 IP 为:"..args.server_ip.."\n 端口为:"..args.port)Das Gerät zeigt ein Hinweisfenster an →
账号服务器的 IP 为:192.168.31.13
端口为:55555- Python-Implementierung des Beispiels (für Python 3.x):
# -*- coding: utf-8 -*-
import http.client
import json
spawn_args = {
"server_ip": "192.168.31.13", # IP-Adresse des Computers
"port": 55555, # Port des Computers
}
data = r'''
local args = proc_get("spawn_args")
args = json.decode(args)
sys.alert("帐号服务器的 IP 为:"..args.server_ip.."\n 端口为:"..args.port)
'''
headers = {
"Content-type": "text/lua",
"spawn_args": json.dumps(spawn_args),
}
conn = http.client.HTTPConnection("192.168.31.72:46952") # Adresse und Port des Geräts
conn.request("POST", "/spawn", data.encode('utf-8'), headers) # data als UTF-8 codieren
response = conn.getresponse()
print(response.status, response.reason) # Die Funktion print() verwenden
data = response.read()
print(data.decode('utf-8')) # Antwortdaten decodieren und mit print() ausgeben
conn.close()