-
Notifications
You must be signed in to change notification settings - Fork 0
API UO HTTP_Header fr
Русский · English · Українська · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
UO.HTTP_Get · UO.HTTP_Post · UO.HTTP_Body · UO.HTTP_Header
ClassicUO • Runtime API
Lit les derniers en-têtes HTTP de ce script, par exemple Content-Type, pas le corps, les en-têtes de requête ou le code HTTP.
UO.HTTP_Header() -> Any
Aucun paramètre.
String : lignes Nom: valeur séparées par CRLF, sans ligne de statut HTTP. Vide avant requête/après erreur réseau. Ordre/casse variables; pas de commande séparée pour le code HTTP.
- 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.
- Header réunit les en-têtes de réponse et de contenu, même après GET binaire. Comparaison des noms sans casse. Content-Type ne valide pas le contenu; ne pas exécuter les données comme du code.
Étapes réelles du client, pas des commandes supplémentaires : GET/POST appellent HttpRequest; Body/Header lisent le résultat local au runtime.
Header réunit les en-têtes de réponse et de contenu, même après GET binaire. Comparaison des noms sans casse. Content-Type ne valide pas le contenu; ne pas exécuter les données comme du code.
String : lignes Nom: valeur séparées par CRLF, sans ligne de statut HTTP. Vide avant requête/après erreur réseau. Ordre/casse variables; pas de commande séparée pour le code HTTP.
Source du projet: external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs; fonction ExecuteClientApiCompatibility.
Étapes réelles du client, pas des commandes supplémentaires : GET/POST appellent HttpRequest; Body/Header lisent le résultat local au runtime.
# Lire Content-Type
#
# Lit les derniers en-têtes HTTP de ce script, par exemple Content-Type, pas le corps, les
# en-têtes de requête ou le code HTTP.
#
# String : lignes Nom: valeur séparées par CRLF, sans ligne de statut HTTP. Vide avant
# requête/après erreur réseau. Ordre/casse variables; pas de commande séparée pour le code HTTP.
SUB Main()
# ReadHeader cherche le nom en début de ligne sans casse et retire les espaces extérieurs;
# absent donne une chaîne vide.
# 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-status")
Return ReadHeader(UO.HTTP_Header(), "Content-Type")
END SUB
Function ReadHeader(headers, name)
Dim marker = Chr(13) & Chr(10) & LCase(name) & ":"
Dim text = Chr(13) & Chr(10) & headers & Chr(13) & Chr(10)
Dim start = InStr(1, LCase(text), marker)
If start = 0 Then
Return ""
End If
start += Len(marker)
Dim finish = InStr(start, text, Chr(13) & Chr(10))
Return Trim(Mid(text, start, finish - start))
End FunctionExplication des paramètres et du déroulement:
- ReadHeader cherche le nom en début de ligne sans casse et retire les espaces extérieurs; absent donne une chaîne vide.
- example.com ne fournit pas ce service. Remplacez les URL : les exemples effectuent de vraies requêtes HTTP, sans action dans le jeu.
# Chercher une mention JSON
#
# Lit les derniers en-têtes HTTP de ce script, par exemple Content-Type, pas le corps, les
# en-têtes de requête ou le code HTTP.
#
# String : lignes Nom: valeur séparées par CRLF, sans ligne de statut HTTP. Vide avant
# requête/après erreur réseau. Ordre/casse variables; pas de commande séparée pour le code HTTP.
SUB Main()
# Recherche application/json dans tous les en-têtes : Boolean, pas validation du contenu.
# Utilisez ReadHeader pour le champ précis, puis JsonParse.
# 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-status")
Dim headers = UO.HTTP_Header()
Return InStr(1, LCase(headers), "application/json") > 0
END SUBExplication des paramètres et du déroulement:
- Recherche application/json dans tous les en-têtes : Boolean, pas validation du contenu. Utilisez ReadHeader pour le champ précis, puis JsonParse.
- example.com ne fournit pas ce service. Remplacez les URL : les exemples effectuent de vraies requêtes HTTP, sans action dans le jeu.
# En-têtes binaires
#
# Lit les derniers en-têtes HTTP de ce script, par exemple Content-Type, pas le corps, les
# en-têtes de requête ou le code HTTP.
#
# String : lignes Nom: valeur séparées par CRLF, sans ligne de statut HTTP. Vide avant
# requête/après erreur réseau. Ordre/casse variables; pas de commande séparée pour le code HTTP.
SUB Main()
# Le flux n’empêche pas leur lecture : corps dans data, HTTP_Body vide.
# 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)
Dim headers = UO.HTTP_Header()
Return headers
End Using
END SUBExplication des paramètres et du déroulement:
- Le flux n’empêche pas leur lecture : corps dans data, HTTP_Body vide.
- example.com ne fournit pas ce service. Remplacez les URL : les exemples effectuent de vraies requêtes HTTP, sans action dans le jeu.
ClassicUO
Bad Newbie & Basic IDE
Найти в справочнике
Клиент и скрипты
Каталоги значений
Разработка и помощь