Skip to content

API UO HTTP_Post fr

Codex edited this page Oct 3, 2026 · 1 revision

UO.HTTP_Post

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

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

ClassicUO • Runtime API

Envoie du texte par POST à votre service HTTP et renvoie sa réponse. Telegram/Discord nécessitent leur propre protocole et authentification.

Syntaxe exacte

UO.HTTP_Post(URL:Any, PostData:Any) -> Any

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.
  • PostData — Texte obligatoire : UTF-8, Content-Type: text/plain; charset=utf-8. Aucun encodage automatique de formulaire ni application/json. JsonStringify crée du texte : le service doit accepter le JSON comme text/plain. Aucun en-tête personnalisé configurable ici.

Retour

String : texte de réponse, également HTTP_Body(). Ni Boolean ni code HTTP; vide/non vide ne prouve pas la réussite.

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.
  • POST garde corps/en-têtes et renvoie le corps. Ne répétez pas une action seulement parce que la réponse est vide : le serveur a pu l’effectuer. accepted/status dépendent de votre service.

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

POST garde corps/en-têtes et renvoie le corps. Ne répétez pas une action seulement parce que la réponse est vide : le serveur a pu l’effectuer. accepted/status dépendent de votre service.

String : texte de réponse, également HTTP_Body(). Ni Boolean ni code HTTP; vide/non vide ne prouve pas la réussite.

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

Vérifier la réponse convenue

# Vérifier la réponse convenue
#
# Envoie du texte par POST à votre service HTTP et renvoie sa réponse. Telegram/Discord
# nécessitent leur propre protocole et authentification.
#
# String : texte de réponse, également HTTP_Body(). Ni Boolean ni code HTTP; vide/non vide ne
# prouve pas la réussite.

SUB Main()
    # Votre service répond accepted à Route stopped. True vérifie ce texte, pas le code HTTP.
    # example.com ne fournit pas ce service. Remplacez les URL : les exemples effectuent de vraies
    # requêtes HTTP, sans action dans le jeu.

    Dim reply = UO.HTTP_Post("https://example.com/basic-event", "Route stopped")
    Return Trim(reply) = "accepted"
END SUB

Explication des paramètres et du déroulement:

  • Votre service répond accepted à Route stopped. True vérifie ce texte, pas le code HTTP.
  • example.com ne fournit pas ce service. Remplacez les URL : les exemples effectuent de vraies requêtes HTTP, sans action dans le jeu.

Rapport structuré

# Rapport structuré
#
# Envoie du texte par POST à votre service HTTP et renvoie sa réponse. Telegram/Discord
# nécessitent leur propre protocole et authentification.
#
# String : texte de réponse, également HTTP_Body(). Ni Boolean ni code HTTP; vide/non vide ne
# prouve pas la réussite.

SUB Main()
    # JsonStringify échappe le saut de ligne; Content-Type reste text/plain. Réponse JSON : status,
    # sinon unknown; erreur : invalid response.
    # example.com ne fournit pas ce service. Remplacez les URL : les exemples effectuent de vraies
    # requêtes HTTP, sans action dans le jeu.

    Dim report = Dictionary()
    report["event"] = "route-stopped"
    report["text"] = "line one" & Chr(10) & "line two"
    Dim reply = UO.HTTP_Post("https://example.com/basic-report", JsonStringify(report))
    Try
        Dim result = JsonParse(reply)
        Return result.Get("status", "unknown")
    Catch problem
        Return "invalid response"
    End Try
END SUB

Explication des paramètres et du déroulement:

  • JsonStringify échappe le saut de ligne; Content-Type reste text/plain. Réponse JSON : status, sinon unknown; erreur : invalid response.
  • example.com ne fournit pas ce service. Remplacez les URL : les exemples effectuent de vraies requêtes HTTP, sans action dans le jeu.

Conserver la première réponse

# Conserver la première réponse
#
# Envoie du texte par POST à votre service HTTP et renvoie sa réponse. Telegram/Discord
# nécessitent leur propre protocole et authentification.
#
# String : texte de réponse, également HTTP_Body(). Ni Boolean ni code HTTP; vide/non vide ne
# prouve pas la réussite.

SUB Main()
    # firstReply/firstHeaders gardent POST; le GET suivant remplace uniquement les tampons internes.
    # example.com ne fournit pas ce service. Remplacez les URL : les exemples effectuent de vraies
    # requêtes HTTP, sans action dans le jeu.

    Dim firstReply = UO.HTTP_Post("https://example.com/basic-event", "Route stopped")
    Dim firstHeaders = UO.HTTP_Header()
    UO.HTTP_Get("https://example.com/basic-status")
    Return firstReply & "|" & firstHeaders
END SUB

Explication des paramètres et du déroulement:

  • firstReply/firstHeaders gardent POST; le GET suivant remplace uniquement les tampons internes.
  • 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