Publié le 02/09/2010
Auteur axel
Réseaux sociaux
0 partages
0 tweets
0 plus
0 commentaires

Charger l'entete d'un fichier via le protocole HTTP

La communication avec un serveur via HTTP fonctionne sur principe du client qui envoie une demande au serveur puis du serveur qui répond à notre requete. La réponse du serveur contient toujours une entete pour en apprendre d'avantage sur le contenu à télécharger et de vérifier que tout s'est bien passé.

Lire le header d'un ficher via Http

Le header du contenu est la première réponse que le serveur envoie à une requete. L'entete contient un élement important à savoir le status du document: 200 le document est prêt à etre chargé, un autre code oups !
En JAVA, la commande getHeaderFields retourne les informations concernant le document à charger:
- 200 OK: status du document,
- Content-Type: type de fichier,
- Expires: date d'expiration,
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
 
/**
 * Charger l'entete d'un fichier HTML
 * http://www.fobec.com/java/988/charger-entete-fichier-via-protocole-http.html
 * @author Axel 2010
 */
public class HttpResponseHeader {
 
    public static void main(String[] args) {
        try {
            URL url = new URL("http://www.fobec.com");
            URLConnection connection = url.openConnection();
 
            Map map = connection.getHeaderFields();
            Set set = map.entrySet();
 
            Iterator iterator = set.iterator();
            while (iterator.hasNext()) {
                System.out.println(iterator.next());
            }
        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

Pour la page d'index du suite Fobec.com, la class renvoie les données ci-dessous:
null=[HTTP/1.0 200 OK]
Content-Language=[fr]
Date=[Wed, 25 Feb 2010 16:08:25 GMT]
Content-Length=[21827]
Expires=[Thu, 26 Feb 2010 16:08:25 GMT]
Set-Cookie=[PHPSESSID=5939f4299b71b8a3a04a83d2c30a91f6; path=/]
Connection=[keep-alive]
Content-Type=[text/html; charset=utf-8]
X-Cache=[MISS from ipcop.localdomain]
X-Powered-By=[PHP/5.5.20]
Server=[Apache]

A y regarder de plus pret, on trouve :
Content-Length: taille du document à charger,
Date: date de création du fichier,
Expires: date d'expiration de la ressource,
...
Bref toutes les informations indispensables à une communication client/serveur se trouve dans l'entete que l'on peut charger directement avec getHeaderFields() en JAVA.

Ajouter un commentaire

Les champs marqués d'un * sont obligatoires, les adresses emails se sont pas publiées.

A lire aussi

Réseaux sociaux
Présentation de l'article
Catégorie
java - sources
Mise a jour
02/09/2010
Visualisation
vu 2433 fois
Public
Internaute
Auteur de la publication
Axel
Membre junior
Auteur de 51 articles
|BIO_PSEUDO|
Commentaires récents

Publié par jerome dans php5

Excellente classe, merci pour ce petit code qui va me permettre de me passer de ma page igoogle qui ferme vendredi

Publié par Melo12 dans php5

Super article. Merci

Publié par bapsmaitihere dans logiciel

je souhaite tester

Publié par agence cms open source dans tuto

Vu la multitude des outils de gestion de contenu Open Source, sélectionner l'un d'entre eux exige de réaliser une comparaison fine. Les lecteurs défendent les raisons de leurs cho...

Publié par Fred dans tuto

J'suis d'accord avec Do, PHP est deja un moteur de template.
Disons que le moteur de template permet de separer le code de la vue pour les debutants qui ont besoin qu'on leur impose des bornes...