IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Date de modification web


Sujet :

VB.NET

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    505
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2006
    Messages : 505
    Par défaut Date de modification web
    Bonjour à tous.

    Il me semble avoir déjà lu qu'il était passible de vérifier la date de modification d'une page web avant de la charger est-ce possible ?

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    C'est possible en effet, c'est indiqué dans l'en-tête HTTP Last-Modified de la réponse. Mais la plupart des serveurs ne renvoient pas cette information... D'ailleurs ça n'a généralement pas vraiment de sens, vu qu'aujourd'hui la plupart des pages web sont dynamiques, et le contenu renvoyé au client peut donc changer sans que le code source de la page ait changé.

    Pour les cas où le serveur fournit la réponse, tu peux faire une requête HTTP avec la méthode HEAD (à la place de GET ou POST), ça renvoie uniquement les en-têtes et non le contenu.

    Voilà un exemple de comment faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Imports System.Net
    Imports System.Globalization
     
    ...
     
    	Public Shared Function GetLastModifDate(ByVal url As String) As Nullable(Of DateTime)
    		Dim request As HttpWebRequest = TryCast(WebRequest.Create(url), HttpWebRequest)
    		request.Method = WebRequestMethods.Http.Head
    		Using response As HttpWebResponse = request.GetResponse()
    			Dim s As String = response.Headers("Last-Modified")
    			If String.IsNullOrEmpty(s) Then
    				Return Nothing
    			End If
    			Return DateTime.ParseExact(s, "R", DateTimeFormatInfo.InvariantInfo)
    		End Using
    	End Function
    La méthode renvoie un Nullable(Of DateTime) plutôt qu'un DateTime, pour le cas où l'en-tête est absent (la plupart des cas en réalité...)
    Le spécificateur de format "R" indique le format de date RFC1123, format utilisé dans le protocole HTTP (de la forme "Sat, 10 Apr 2004 08:43:49 GMT")

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    505
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2006
    Messages : 505
    Par défaut
    ouais merci beaucoup

    La réponse est null alors...passont

    Par contre, il arrive que j'obtienne une page redirigée quand la page n'existe pas. Puis-je tester son existance avant de la charger ?

    merci

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par Mario Rousson Voir le message
    Par contre, il arrive que j'obtienne une page redirigée quand la page n'existe pas. Puis-je tester son existance avant de la charger ?
    Fais une requête HEAD comme dans mon exemple. Si le code de la réponse (StatusCode) est 404, la page n'existe pas. Si c'est 301, la page a été déplacée ; l'en-tête Location indique la nouvelle URL.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    505
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2006
    Messages : 505
    Par défaut
    Géniale merci beaucoup Tomlev

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. les dates de modification d'un Site Web
    Par GoldenEyes dans le forum Général Conception Web
    Réponses: 2
    Dernier message: 13/05/2009, 08h41
  2. [Réseau] Date de modification d'une page web distante
    Par laurent_h dans le forum Langage
    Réponses: 2
    Dernier message: 26/07/2007, 02h36
  3. [MFC] Recuperation de la date de modification
    Par lastcheper dans le forum MFC
    Réponses: 3
    Dernier message: 21/04/2005, 17h33
  4. Réponses: 20
    Dernier message: 17/03/2005, 15h26
  5. [langage] Date de modification d'un fichier
    Par Cyspak dans le forum Langage
    Réponses: 2
    Dernier message: 24/06/2003, 15h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo