Programmation avancée avec MIDlet Pascal


précédentsommairesuivant

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

 
Sélectionnez
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.

 
Sélectionnez
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

 
Sélectionnez
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.

 
Sélectionnez
procedure addHttpHeader(httpConn: http; name, value:string);

Exemple

 
Sélectionnez
{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.

 
Sélectionnez
{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.

 
Sélectionnez
{contenu html renvoyé}
contenuHtml := getHttpResponse(connexion);

N'oubliez pas de fermer la connexion une fois fini avec closeHttp.


précédentsommairesuivant

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+   

  

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2010 AKAKPO-TOULAN Jules. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.