http - por - modificar fecha de creacion de un archivo windows 10
Obtener fecha de creación de archivo a través de HTTP (3)
Dado un archivo en un servidor web (por ejemplo, http://foo.com/bar.zip -> solo accesible a través de HTTP), ¿hay alguna manera de obtener los atributos de fecha (por ejemplo, fecha [creada, modificada]) sin descargar el todo el archivo en primer lugar?
En este momento, descargo el archivo y leo los atributos programáticamente. El problema es que el archivo contiene docenas de MiB, así que parece una pérdida de recursos descargar todo y terminar leyendo solo un par de bytes de información.
Me doy cuenta de que el ancho de banda es prácticamente gratuito, pero en cualquier caso no me gusta derrochar.
Asegúrese de utilizar una solicitud HTTP HEAD en lugar de una solicitud HTTP GET para leer solo los encabezados HTTP. Si realiza un HTTP GET, sin embargo, descargará todo el archivo, incluso si decide inspeccionar los encabezados HTTP.
Intenta leer Last-Modified desde el encabezado
Solo por el bien de la simplicidad, aquí hay una compilación de las respuestas existentes (perfectas) de @ihorko y @ JanThomä, que usa curl. Otra opción está disponible también, por supuesto, pero aquí hay una respuesta completamente funcional.
Use curl con la opción -I
:
-I, --head
(HTTP / FTP / FILE) ¡Obtenga el encabezado HTTP solamente! Los servidores HTTP tienen el comando HEAD que usa para obtener nada más que el encabezado de un documento. Cuando se utiliza en un archivo FTP o ARCHIVO, curl solo muestra el tamaño del archivo y la última modificación.
Además, la opción -s
es agradable aquí:
-s, --silent
Modo silencioso o silencioso No muestre el medidor de progreso o mensajes de error. Hace que Curl se quede mudo. Todavía emitirá los datos que solicite, potencialmente incluso a la terminal / stdout a menos que lo redirija.
Por lo tanto, algo así haría el truco:
curl -sI http://foo.com/bar.zip | grep ''Last-Modified'' | cut -d'' '' -f 2-