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 2194 fois
Public
Internaute
Auteur de la publication
Axel
Membre junior
Auteur de 51 articles
|BIO_PSEUDO|
Commentaires récents

Publié par farid dans CMS

formation delphi 7

Publié par samir dans CMS

merci

Publié par Diviciakos dans CMS

Merci ! Bonne continuation

Publié par Celibataire dans news

Le trustrant est pas clair du tout peu d'informations sont disponibles sur lui!

Publié par space dans java

peut on avoir un meme code pour linux