PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

  • 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
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
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 :
Versions 15 et supérieures
httpCookie
Nouveauté 15
httpCookie
httpCookie
Bloc des cookies (extrait à partir des entêtes HTTP).
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
Etats et Requêtes

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).
Composante : wd240com.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