LlHTTPRequest/fr
LSL Portail Francophone | LSL Portail Anglophone | Fonctions | Évènements | Types | Operateurs | Constantes | Contrôle d'exécution | Bibliothèque | Tutoriels |
Description
Fonction: key llHTTPRequest( string url, list paramètres, string corps );230 | N° de fonction |
0.0 | Delais |
10.0 | Energie |
Envoie une requête HHTP à une URL donnée avec le corps et les paramètres de la requête.
Renvoie un key correspondant à une référence permettant d’identifier dans l'évènement les réponses renvoyées
• string | url | – | une URL HTTP/HTTPS valide. | |
• list | paramètres | – | paramètres HTTP au format :
[ param1, valeur1, param2, valeur2, . . . paramN, valeurN] |
|
• string | corps | – | Contenu de la requête. |
Codes | Type de valeur | Par défaut | Descriptions | |
---|---|---|---|---|
HTTP_METHOD | 0 | string | "GET" | 'GET', 'POST', 'PUT' et 'DELETE' |
HTTP_MIMETYPE | 1 | string | "text/plain;charset=utf-8" | Les valeurs MIME text/* indique un jeu de caractères. Pour émuler une page HTML, utilisez application/x-www-form-urlencoded. Elle vous permet de formater le corps(body) de la page (llEscapeURL) en convetissant les couples <nom,valeur> au format var=valeur&var2=valeur2 et de s'assurer qu'ils soient correctement interprétés par le système. |
HTTP_BODY_MAXLENGTH | 2 | integer | 2048 | Affecte la taille maximale (UTF-8 encoded) de la longueur du corps HTTP. Le maximum dépend en quoi est compilé le script : |
HTTP_VERIFY_CERT | 3 | integer booléen | TRUE | Si TRUE, Le serveur certifié SSL doit être vérifiable en utilisant l'une des méthodes standard de certification lorsqu'il effectue des requêtes HTML. Si FALSE, n'importe que quel serveur certifié SSL sera accepté. |
HTTP_VERBOSE_THROTTLE | 4 | integer noisy | TRUE | Si TRUE, ecrit des messages d'erreur sur le DEBUG_CHANNEL quand le taux de requetes sortantes atteint la limite imposée par le serveur. Si FALSE, ces messages d'erreurs ne sont pas affichés (llHTTPRequest retournera toujours NULL_KEY). |
HTTP_CUSTOM_HEADER | 5 | string nom, string valeur | NA | Ajoute un paramèrte de l'en-tête HTTP personnalisé à la requête. La première chaîne "nom" est est le nom du paramètre à changer, par exemple, "Pragma", et la seconde chaine "valeur" , la valeur du paramètre à changer, e.g. "no-cache". Jusqu'à 8 paramètres meuvent ainsi être rajoutés à la requête. Certains noms d'en-tête HTTP sont bloqués pour des raisons de sécurité. |
HTTP_PRAGMA_NO_CACHE | 6 | integer send_header | TRUE | Envoie l'en tête HTTP "Pragma: no-cache" (TRUE), ou ne l'envoie pas (FALSE). |
En-têtes | Descriptions | Exemples |
---|---|---|
X-SecondLife-Shard | Environnement contenant l’objet. "Production" pour la grille principale "Testing" pour la beta | Production |
X-SecondLife-Object-Name | Nom de l’objet contenant le script. | Object |
X-SecondLife-Object-Key | Key de l’objet contenant le script. | 01234567-89ab-cdef-0123-456789abcdef |
X-SecondLife-Region | Nom de la région contenant l’objet + coordonnées globales du coin sud-ouest de la région | Jin Ho (264448, 233984) |
X-SecondLife-Local-Position | Position de l’objet dans la région | (173.009827, 75.551231, 60.950001) |
X-SecondLife-Local-Rotation | Rotation de l’objet contenant le script. | 0.000000, 0.000000, 0.000000, 1.000000 |
X-SecondLife-Local-Velocity | Vitesse de l’objet | 0.000000, 0.000000, 0.000000 |
X-SecondLife-Owner-Name | Nom du propriétaire de l’objet | Zeb Wyler |
X-SecondLife-Owner-Key | UUID du propriétaire de l’objet | 01234567-89ab-cdef-0123-456789abcdef |
Avertissements
- Les requêtes sont gérés par objet.
- Ne peut pas être utilisé pour charger des textures ou des images depuis internet, pour plus d’info, consultez Web Textures.
- Si le script doit renvoyer des rapports de transactions en $L, alors le serveur hhtp DOIT contrôler le paramètre X-SecondLife-Shard pour voir si le script est en beta.
- Le corps de la réponse est limitée à 2048 bytes, s’il est plus long, il sera tronqué.
Exemples
<lsl> key http_request_id;
default {
state_entry() { http_request_id = llHTTPRequest("url", [], ""); }
http_response(key request_id, integer status, list metadata, string body) { if (request_id == http_request_id) { llSetText(body, <0,0,1>, 1); } }
} </lsl>
Notes
Si lorsque vous utilisez llHTTPRequest/http_response vous êtes incapable de lire un flux RSS connu ou une autre forme de contenu internet, vous devrez le faire en dehors de l’utilisation de second life. Ce problème a peu de chance d'évoluer dans un futur proche, car le contrôle nécessaire des en-têtes supposerait plus de travail de la part des simulateurs.
Les environnements CGI peuvent changer les en-têtes en variable en mettant les noms en majuscule, en remplaçant les – par des _ et en préfixant les noms avec "HTTP_", ex : "HTTP_X_SECONDLIFE_OBJECT_NAME".
Apache peut inclure les en-têtes dans ses logs, en utilisant les instructions CustomLog & LogFormat. Consultez ces docs pour plus d’informations sur la syntaxe.
Voir également
Évènement
• | http_response | – | Evènement déclenché par un retour d’infos d’un serveur HHTP |
Fonctions
• | llEscapeURL | – | Encode une URL | |
• | llUnescapeURL | – | Décode une URL |
Articles
• | Simulator IP Addresses |