Lire un fichier (RAW)
Lecture en flux
-
Description de l’interface
GET /read_file?filename=[nom du fichier encodé dans l’URL] HTTP/1.1- Paramètre de requête facultatif
md5=1: ajouteContent-MD5(Base64) aux en-têtes de réponse.
- Paramètre de requête facultatif
-
Réponses possibles
- Succès : HTTP 200, le corps de la réponse est le flux d’octets du fichier (non encodé en base64).
- Échec :
- HTTP 404 +
{"message":"File not found"}(fichier inexistant ou filename non fourni) - HTTP 415 +
{"message":"File is a directory"}(le chemin demandé est un répertoire)
- HTTP 404 +
-
Exemple de lecture en flux d’un fichier de script sur l’appareil via l’interface en Python 3.x (module requests requis) :
# -*- coding: utf-8 -*-
import requests
with requests.get(
"http://192.168.31.72:46952/read_file",
params={"filename": "lua/scripts/123.lua", "md5": 1},
stream=True,
timeout=30,
) as r:
r.raise_for_status()
with open("r:/123.lua", "wb") as f:
for chunk in r.iter_content(chunk_size=8192):
if chunk:
f.write(chunk)
print("Content-MD5:", r.headers.get("Content-MD5"))
Lecture Base64
-
Description de l’interface
POST /read_file HTTP/1.1
{"filename":"nom du fichier"} -
Réponses possibles
{"code":0,"message":"操作成功","data":"chaîne du contenu du fichier encodée en base64"}{"code":4,"message":"无法读取文件"}{"code":8,"message":"参数错误"} -
Exemple de lecture d’un fichier de script sur l’appareil via l’interface en Python 3.x (module requests requis) :
# -*- coding: utf-8 -*-
import base64
import requests
resp = requests.post(
"http://192.168.31.72:46952/read_file",
json={"filename": "lua/scripts/123.lua"},
timeout=30,
)
print(resp.status_code, resp.reason) # 200 OK en cas de succès
if resp.status_code == 200:
ret = resp.json()
print(ret.get("message"))
if ret.get("code") == 0:
print(base64.b64decode(ret["data"]).decode("utf-8")) # Décoder les données base64 puis décoder explicitement en UTF-8
else:
print(resp.text)
Remarque
- La racine des opérations sur les fichiers de cette interface est
/var/mobile/Media/1ferver/. - L’interface Lecture en flux est disponible dans les versions postérieures à
2025-07-11.