Connexion http▲
Vous pouvez vous connecter à internet avec votre téléphone mobile en utilisant
une connexion WAP (Wireless Application Protocol). Vous pouvez donc envoyer et recevoir des
données.
Il existe des fonctions pour manipuler le protocole HTTP. Pour pouvoir utiliser ces fonctions avec
MIDlet Pascal, il faudrait que le téléphone cible de l'application supporte le protocole HTTP. Certains
téléphones mobiles peuvent même supporter d'autres protocoles comme UDP mais MIDlet Pascal, pour le
moment, ne permet pas de les gérer; il vous revient de faire votre propre unité pour les gérer.
Pour se connecter sur un site à travers MIDlet, il faut d'abord ouvrir la connexion vers le site
en utilisant la fonction openHttp
function
openHttp(httpConn: http; url: string
):boolean
;
L'url doit être de la forme 'http://www.monsite.com[:port][/fichier]'. La fonction retourne
true si tout s'est bien passé et false sinon. Vous devez au préalable tester s'il n'existe pas une
connexion déjà ouverte vers ce site avec isHttpOpen.
function
isHttpOpen(httpConn: http):boolean
;
Ensuite, pour lire les données de la page, il faut préciser le type de requête en utilisant setHttpMethod
procedure
setHttpMethod(httpConn: http; method:string
);
Il convient ensuite de préciser l'agent qui va lire les données, comme pour les navigateurs, quand nous
nous connectons sur un site, il y a la possibilité de connaître l'agent utilisateur qui se connecte sur le site. Par
exemple Mozilla/5.0.
Nous pouvons aussi préciser si nous voulons accepter l'encodage du site, la langue du site,
le charset du site etc. Pour faire ceci utilisez la procédure addHttpHeader.
procedure
addHttpHeader(httpConn: http; name, value:string
);
Exemple
{préciser l'agent utilisateur}
addHttpHeader(connexion, 'User-agent'
, 'MIDletPascal'
);
{accepter l'encodage du site}
addHttpHeader(connexion, 'Accept-encoding'
, 'gzip,none'
);
Pour savoir si la connexion au site à réussi, il faut récupérer le code réponse du site en utilisant sendHttpMessage. Pour voir toute la liste des codes réponses renvoyés par les sites, il existe Status Code Definitions.
{le code 200 c'est si tout est OK}
if
sendHttpMessage(connexion) <> 200
then
halt;
A ce niveau, si tout est OK, il ne nous restera plus qu'à lire le contenu du site renvoyé par le serveur avec getHttpResponse.
{contenu html renvoyé}
contenuHtml := getHttpResponse(connexion);
N'oubliez pas de fermer la connexion une fois fini avec closeHttp.