Maison > développement back-end > C++ > Puis-je obtenir la taille d'un fichier distant à l'aide des en-têtes HTTP ?

Puis-je obtenir la taille d'un fichier distant à l'aide des en-têtes HTTP ?

Linda Hamilton
Libérer: 2025-01-03 01:02:41
original
726 Les gens l'ont consulté

Can I Get a Remote File's Size Using HTTP Headers?

Obtention de la taille du fichier HTTP à partir des en-têtes

Requête :

Il est souhaitable de récupérer la taille d'un fichier distant hébergé à un point de terminaison HTTP avant de lancer le téléchargement. Est-il possible d'exploiter les en-têtes HTTP pour y parvenir, et si oui, comment accéder à l'en-tête HTTP d'un fichier spécifique pour obtenir sa taille ?

Solution :

La plupart des serveurs HTTP fournissent un mécanisme permettant de récupérer les métadonnées du fichier, y compris sa taille, sans transférer l'intégralité du fichier. C'est ce qu'on appelle la méthode HEAD. Voici comment récupérer la taille du fichier à partir des en-têtes HTTP à l'aide de la méthode HEAD en C# :

public long GetFileSize(string url)
{
    long result = -1;

    System.Net.WebRequest req = System.Net.WebRequest.Create(url);
    req.Method = "HEAD";
    using (System.Net.WebResponse resp = req.GetResponse())
    {
        if (long.TryParse(resp.Headers.Get("Content-Length"), out long ContentLength))
        {
            result = ContentLength;
        }
    }

    return result;
}
Copier après la connexion

Attention :

Bien que la plupart des serveurs prennent en charge la méthode HEAD, certains peuvent ne l'autorisez pas ou peuvent omettre l'en-tête "Content-Length" dans leur réponse. Dans de tels cas, il peut être nécessaire de télécharger le fichier pour déterminer sa taille. Cependant, de nombreux serveurs fournissent ces informations pour plus de commodité.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal