PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEV, WEBDEV 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
  • Limites
  • Limites
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.
Versions 15 et supérieures
Android Cette fonction est désormais disponible pour les applications Android.
Nouveauté 15
Android Cette fonction est désormais disponible pour les applications Android.
Android Cette fonction est désormais disponible pour les applications Android.
Versions 16 et supérieures
Universal Windows 10 App Cette fonction est désormais disponible pour les applications Windows Phone.
Nouveauté 16
Universal Windows 10 App Cette fonction est désormais disponible pour les applications Windows Phone.
Universal Windows 10 App Cette fonction est désormais disponible pour les applications Windows Phone.
Versions 17 et supérieures
iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
Nouveauté 17
iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
Versions 18 et supérieures
Universal Windows 10 App Cette fonction est désormais disponible en mode Windows Store apps.
Widget Android Cette fonction est désormais disponible en mode Widget Android.
Nouveauté 18
Universal Windows 10 App Cette fonction est désormais disponible en mode Windows Store apps.
Widget Android Cette fonction est désormais disponible en mode Widget Android.
Universal Windows 10 App Cette fonction est désormais disponible en mode Windows Store apps.
Widget Android Cette fonction est désormais disponible en mode Widget Android.
Versions 21 et supérieures
Universal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
Nouveauté 21
Universal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
Universal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
// 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 : " + ResCode)
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.
Windows Mobile Ce paramètre doit être de type buffer.
<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).
AndroidWidget AndroidUniversal Windows 10 AppJava Cette constante n'est pas disponible.
Versions 22 et supérieures
AndroidWidget Android Cette constante est désormais disponible.
Nouveauté 22
AndroidWidget Android Cette constante est désormais disponible.
AndroidWidget Android Cette constante est désormais disponible.
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êtesiPhone/iPadWindows MobileUniversal Windows 10 AppAjaxCode Utilisateur (MCU)

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).
AndroidWidget Android

Limites

Utilisée avec la constante httpCookie, cette fonction est disponible uniquement sur des appareils avec des processeurs ARM. Si cette fonction est utilisée sur des appareils avec des processeurs non ARM (x86, mips, ...), une erreur fatale sera déclenchée.
Composantes
WINDEVWEBDEV - Code ServeurEtats et Requêtes wd220com.dll
Windows Mobile wp220com.dll
Java wd220java.jar
Linux wd220com.so
Android wd220android.jar
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