Bonjour,
J'utilise Indy 10 sous Lazarus pour mes composants web et j'en suis plutôt content.
Tout fonctionne bien mais j'ai besoin de récupérer la date de dernière modification d'un fichier et je patauge...
En principe avec Response.LastModified on doit obtenir cette date sauf que quelque soit le fichier de n'importe quel site que je charge via un Get(url) (un Head(url) me fait la même chose) je n'obtiens comme retour qu'un 0 (donc une date 0 ou 30.12.1899).
voici un bout de mon code :
On m'a dit que cela venait du serveur car certains serveurs mal parametrés ne renvoient pas la dernière date de modification des fichiers... Je veux bien mais là au bout de dizaines de tentatives sur divers sites avec diverses pages je me dis que je dois oublier un truc... Le soucis c'est que je ne trouve rien de plus sur le net.
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
17
18
19
20 var HTTP : TIdHTTP; Content: string; LastDate : TDateTime; DateStr : String ; begin HTTP := TIdHTTP.Create(nil); try HTTP.HandleRedirects:=true; try Content := HTTP.Get(URL); // URL est un string passé en parametre de la procedure LastDate := HTTP.Response.LastModified; //en brut DateStr := FormatDateTime( 'dd-mm-yyyy' , LastDate); showmessage (DateStr); // renvoi toujours 31.12.1899 !!! ...
Hormis ce Response.LastModified tout fonctionne, je peux télécharger ma page sans soucis donc j'y ai bien accès. C'est juste cette partie du header que je trouve toujours à zéro.
Merci d'avance si vous avez un petit truc ou si vous trouvez ou j'ai fauté.
Patrick
Partager