Skip to content

API UO HTTP_Get fr

Codex edited this page Oct 3, 2026 · 1 revision

UO.HTTP_Get

Русский · English · Українська · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어

UO.HTTP_Get · UO.HTTP_Post · UO.HTTP_Body · UO.HTTP_Header

ClassicUO • Runtime API

Télécharge des paramètres ou un fichier par HTTP/HTTPS, sans exécuter le contenu ni gérer la connexion au jeu.

Syntaxe exacte

UO.HTTP_Get(URL:Any) -> Unit
UO.HTTP_Get(URL:Any, LStream:Any) -> Unit

Paramètres

  • URL — String obligatoire : adresse complète http:// ou https://. Utilise le réseau normal du processus, pas le proxy de jeu du profil. Aucune connexion au jeu nécessaire.
  • LStream — MemoryStream() ou File(path) facultatif. Absent, 0 ou Nothing : texte via HTTP_Body(). Les octets remplacent tout le flux; MemoryStream revient à 0. File écrase le fichier; son dossier doit exister. Autre type rejeté avant la requête.

Retour

Unit : aucune valeur, ni Boolean, ID ou nombre d’octets. Texte via HTTP_Body(), octets dans le flux.

Comportement

  • Le tampon appartient au runtime de ce script. Son prochain GET/POST le remplace; les autres scripts ne le modifient pas. Il n’est pas sauvegardé dans le profil. Copiez les anciennes données utiles dans des variables.
  • GET/POST attendent dans le thread du script : délai global de 20 secondes, corps inclus. Arrêter le script annule l’attente; Body/Header n’attendent pas. Même avec File, tout le corps est chargé en mémoire.
  • Décodage selon charset, sinon UTF-8, également si inconnu. Les corps 4xx/5xx sont lus. Erreur réseau/délai dépassé : message d’erreur et tampons vidés. Try/Catch ne remplace pas la vérification de réponse. L’annulation se propage; erreurs locales d’écriture/arguments interceptables.
  • GET sans flux garde texte/en-têtes; avec flux, octets/en-têtes et HTTP_Body vide. Réponse vide/erreur réseau vide aussi le flux. Téléchargez et validez en mémoire avant de remplacer un fichier important.

Fonctions internes : de l’appel au résultat

Étapes réelles du client, pas des commandes supplémentaires : GET/POST appellent HttpRequest; Body/Header lisent le résultat local au runtime.

1. ExecuteClientApiCompatibility

GET sans flux garde texte/en-têtes; avec flux, octets/en-têtes et HTTP_Body vide. Réponse vide/erreur réseau vide aussi le flux. Téléchargez et validez en mémoire avant de remplacer un fichier important.

Unit : aucune valeur, ni Boolean, ID ou nombre d’octets. Texte via HTTP_Body(), octets dans le flux.

Source du projet: external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs; fonction ExecuteClientApiCompatibility.

2. HttpRequest

GET/POST attendent dans le thread du script : délai global de 20 secondes, corps inclus. Arrêter le script annule l’attente; Body/Header n’attendent pas. Même avec File, tout le corps est chargé en mémoire.

Décodage selon charset, sinon UTF-8, également si inconnu. Les corps 4xx/5xx sont lus. Erreur réseau/délai dépassé : message d’erreur et tampons vidés. Try/Catch ne remplace pas la vérification de réponse. L’annulation se propage; erreurs locales d’écriture/arguments interceptables.

Source du projet: src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs; fonction HttpRequest.

Étapes réelles du client, pas des commandes supplémentaires : GET/POST appellent HttpRequest; Body/Header lisent le résultat local au runtime.

Exemples

Lire un seuil de mana

# Lire un seuil de mana
#
# Télécharge des paramètres ou un fichier par HTTP/HTTPS, sans exécuter le contenu ni gérer la
# connexion au jeu.
#
# Unit : aucune valeur, ni Boolean, ID ou nombre d’octets. Texte via HTTP_Body(), octets dans le
# flux.

SUB Main()
    # Objet JSON minMana : nombre 0..100 converti en Integer, sinon 30. Un réglage du script, pas le
    # mana actuel.
    # example.com ne fournit pas ce service. Remplacez les URL : les exemples effectuent de vraies
    # requêtes HTTP, sans action dans le jeu.

    UO.HTTP_Get("https://example.com/basic-config.json")
    Try
        Dim config = JsonParse(UO.HTTP_Body())
        Dim threshold = config.Get("minMana", 30)
        If IsNumeric(threshold) Then
            If threshold >= 0 AndAlso threshold <= 100 Then
                Return CInt(threshold)
            End If
        End If
    Catch problem
    End Try
    Return 30
END SUB

Explication des paramètres et du déroulement:

  • Objet JSON minMana : nombre 0..100 converti en Integer, sinon 30. Un réglage du script, pas le mana actuel.
  • example.com ne fournit pas ce service. Remplacez les URL : les exemples effectuent de vraies requêtes HTTP, sans action dans le jeu.

Vérifier avant de sauvegarder

# Vérifier avant de sauvegarder
#
# Télécharge des paramètres ou un fichier par HTTP/HTTPS, sans exécuter le contenu ni gérer la
# connexion au jeu.
#
# Unit : aucune valeur, ni Boolean, ID ou nombre d’octets. Texte via HTTP_Body(), octets dans le
# flux.

SUB Main()
    # Seuls les octets non vides écrasent download.bin dans le dossier de travail. True ne valide
    # pas leur format; ajoutez une vérification du contenu.
    # example.com ne fournit pas ce service. Remplacez les URL : les exemples effectuent de vraies
    # requêtes HTTP, sans action dans le jeu.

    Dim data = MemoryStream()
    Using data
        UO.HTTP_Get("https://example.com/route-data.bin", data)
        If data.Length() = 0 Then
            Return False
        End If
        data.SaveToFile("download.bin")
        Return True
    End Using
END SUB

Explication des paramètres et du déroulement:

  • Seuls les octets non vides écrasent download.bin dans le dossier de travail. True ne valide pas leur format; ajoutez une vérification du contenu.
  • example.com ne fournit pas ce service. Remplacez les URL : les exemples effectuent de vraies requêtes HTTP, sans action dans le jeu.

Écrire directement

# Écrire directement
#
# Télécharge des paramètres ou un fichier par HTTP/HTTPS, sans exécuter le contenu ni gérer la
# connexion au jeu.
#
# Unit : aucune valeur, ni Boolean, ID ou nombre d’octets. Texte via HTTP_Body(), octets dans le
# flux.

SUB Main()
    # http-download.bin est écrasé même avec un corps vide. Using libère l’objet; Main renvoie les
    # en-têtes.
    # example.com ne fournit pas ce service. Remplacez les URL : les exemples effectuent de vraies
    # requêtes HTTP, sans action dans le jeu.

    Dim output = File("http-download.bin")
    Using output
        UO.HTTP_Get("https://example.com/route-data.bin", output)
    End Using
    Return UO.HTTP_Header()
END SUB

Explication des paramètres et du déroulement:

  • http-download.bin est écrasé même avec un corps vide. Using libère l’objet; Main renvoie les en-têtes.
  • example.com ne fournit pas ce service. Remplacez les URL : les exemples effectuent de vraies requêtes HTTP, sans action dans le jeu.

Clone this wiki locally