DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Communication / Fonctions HTTP
  • En-tête de requête HTTP
  • Gestion des erreurs du serveur Web
  • Fonctionnement de HTTPRequête / HTTPDonneRésultat avec une destination
  • Récupération
  • Limites
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Récupère le résultat ou l'entête de la dernière requête HTTP lancée. Cette requête a été lancée par la fonction HTTPRequête ou par la fonction HTTPEnvoieFormulaire.
// Récupération des éléments de la page Web "www.pcsoft.fr"
ResLancement = HTTPRequête("http://www.pcsoft.fr")
SI ResLancement = Vrai ALORS
ResCode est une chaîne = HTTPDonneRésultat()
Info("Code HTML : " + ResCode)
ResEntête est une chaîne = HTTPDonneRésultat(httpEntête)
Info("Entête : " + ResEntête)
ResCookie est une chaîne = HTTPDonneRésultat(httpCookie)
Info("Cookie : " + ResCookie)
FIN
// Exemple de traitement d'erreur renvoyée par le serveur Web
Url est une chaîne
Res_HTTP est une chaîne
ErreurHTTP est une chaîne
Url = "http://www.amazon.fr/s/ref=nb_ss?__mk_fr_FR=AMAZON&url" + ...
"=search-alias=aps&field-keywords=2746049805"
 
// Envoi de la requête sur le serveur amazon
SI HTTPRequête(Url) ALORS
// La requête a pu être envoyée, il s'agit d'une URL valide
Res_HTTP = HTTPDonneRésultat()
SI Taille(Res_HTTP) = 0 ALORS
// Il y a eu une erreur du serveur Web,
// le détail de l'erreur est dans l'entête de la page
ErreurHTTP = HTTPDonneRésultat(httpEntête)
Erreur(ErreurHTTP)
FIN
FIN
Syntaxe
<Résultat> = HTTPDonneRésultat([<Type d'information>])
<Résultat> : Buffer ou chaîne de caractères
  • Résultat de la dernière requête HTTP si la constante httpRésultat est spécifiée.
  • En-tête de la dernière requête HTTP si la constante httpEntête est spécifiée.
<Type d'information> : Constante optionnelle
Type d'information à récupérer :
httpCookieBloc des cookies (extrait à partir des entêtes HTTP).
Universal Windows 10 AppJava Cette constante n'est pas disponible.
httpEntêteEn-tête de la dernière requête HTTP.
httpRésultat
(Valeur par défaut)
Résultat de la dernière requête HTTP.
Attention : Dans ce cas, en Unicode, <Résultat> est un Buffer.
Remarques

En-tête de requête HTTP

Un entête de requête HTTP fournit diverses informations sur la requête HTTP (date, serveur utilisé, etc.).
Pour l'exécution de la requête HTTP suivante :
ResLancement = HTTPRequête("http://www.pcsoft.fr")
L'entête récupéré est :
HTTP/1.1 200 OK<\r><\n>
Date: Tue, 10 Jul 2001 13:19:08 GMT<\r><\n>
Server: Apache/1.3.11 (Unix) PHP/4.0.1<\r><\n>
Last-Modified: Thu, 04 Jan 2001 13:20:11 GMT<\r><\n>
ETag: "4107f-5f7b-3a54788b"<\r><\n>
Accept-Ranges: bytes<\r><\n>
Content-Length: 24443<\r><\n>
Connection: close<\r><\n>
Content-Type: image/gif<\r><\n><\r>

Gestion des erreurs du serveur Web

Certains serveurs Web retournent une erreur dans l'entête http. Par exemple, l'erreur peut correspondre à une notification de déplacement de page (rewriting d'url). Si le contenu de la page obtenue par HTTPDonneRésultat est vide, il faut consulter l'entête de la page.
Exemple d'entête d'erreur lors d'un déplacement de page (rewriting d'url):
HTTP/1.1 302 MovedTemporarily
Date: Wed, 30 Sep 2009 15:38:48 GMT
Server: Server
x-amz-id-1: 1KR8DDF5DV380D14DHTC
x-amz-id-2: pU0oo3rO/L+5kLNg4Yc4MPd0jF3qwyEI4nGaOhMgYkk=
Location: http://www.amazon.fr/WinDev-14-fondamentaux-d%C3%A9veloppement
-Pr%C3%A9sentation/dp/2746049805/ref=sr_11_1/277-8952281-8252733?ie=
UTF8&qid=1254325128&sr=11-1
Vary: Accept-Encoding,User-Agent
nnCoection: close
Content-Type: text/html; charset=ISO-8859-15
Set-cookie: session-id-time=1254866400l; path=/; domain=.amazon.fr;
expires=Tue Oct 06 22:00:00 2009 GMT
Set-cookie: session-id=277-8952281-8252733; path=/; domain=.amazon.fr;
expires=Tue Oct 06 22:00:00 2009 GMT
Content-Length: 0
WINDEVWEBDEV - Code ServeurEtats et RequêtesUniversal Windows 10 AppiPhone/iPadWidget IOSMac CatalystCode Utilisateur (MCU)Ajax

Fonctionnement de HTTPRequête / HTTPDonneRésultat avec une destination

Lorsqu'une destination fichier est précisée avec la fonction HTTPDestination :
  • la fonction HTTPDonneRésultat utilisée avec la constante httpRésultat renvoie toujours une chaîne vide ("").
  • la fonction HTTPDonneRésultat utilisée avec la constante httpEntête renvoie toujours l'entête de la réponse HTTP. Cet entête n'est pas enregistré dans le fichier destination : seules les données sont enregistrées.
Lorsque la requête est terminée, la destination est annulée et la fonction HTTPRequête fonctionne normalement.

Récupération

La fonction HTTPDonneRésultat permet également de récupérer une image ou un document binaire (voir Exemple).
Universal Windows 10 App

Limites

  • Le proxy utilisé est celui d'Internet Explorer.
  • Il n'est pas possible d'ignorer les certificats.
  • Le protocole renvoyé par la fonction HTTPDonneRésultat utilisé avec la constante httpEntête est toujours 1.1 (même si le serveur est 1.0).
Composante : wd290com.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Adresse IP PUBLIQUE
sSourcePage est une chaîne ANSI
sIPPublic est une chaîne ANSI

SI HTTPRequête("http://checkip.dyndns.org")=Vrai ALORS
sSourcePage = HTTPDonneRésultat()
sIPPublic=sSourcePage[[Position(sSourcePage,": ")+2 A Position(sSourcePage,"</body>")-1]]
FIN
MoiMême=sIPPublic
jaguard91
02 avr. 2014

Dernière modification : 25/05/2022

Signaler une erreur ou faire une suggestion | Aide en ligne locale