Obtenir le contenu HEAD avec les requêtes Python
Je suis en train d'analyser le résultat d'une requête HEAD fait à l'aide de Python Les demandes de la bibliothèque, mais n'arrive pas à accéder au contenu de la réponse.
Selon la docsje devrais être en mesure d'accéder au contenu de la demande.Réponse.texte. Cela fonctionne très bien pour moi sur les requêtes GET, mais ne renvoie pas sur la TÊTE des demandes.
Requête GET (travaux)
import requests
response = requests.get(url)
content = response.text
content = <html>...</html>
TÊTE de demande (pas de contenu)
import requests
response = requests.head(url)
content = response.text
content = None
MODIFIER
OK, j'ai rapidement réalisé formulaire, les réponses que le CHEF demande n'est pas censé renvoyer du contenu uniquement les en-têtes. Mais est-ce à dire que, pour accéder à des choses trouvées DANS la <head>
tag de la page, comme <link>
et <meta>
balises, que l'on doit OBTENIR le document en entier?
source d'informationauteur Yarin
Vous devez vous connecter pour publier un commentaire.
Par définitionles réponses à la TÊTE de demandes de ne pas contenir un message du corps.
Envoyer une requête GET, si vous voulez, eh bien, obtenir un corps de réponse. Envoyer une requête HEAD le forum vous êtes uniquement intéressé par le code d'état de réponse et les en-têtes.
HTTP transferts de contenu arbitraire; le HTTP terme en-tête est complètement indépendants HTML
<head>
. Cependant, HTTP peuvent être invités à télécharger une partie seulement du document. Si vous connaissez la longueur du code HTML de<head>
code (ou une limite supérieure à cet effet), vous pouvez inclure un HTTP Plage en-tête de votre demande, qui conseille le serveur distant afin de retourner uniquement un certain nombre d'octets. Si le serveur distant prend en charge HTTP plages, il va alors servir de la réduction de la réponse.Une TÊTE n'ont pas de contenu! Essayez
response.headers
- c'est probablement là où l'action est. Un CHEF de HTTP demande de ne pas obtenir le<head>
élément de la réponse HTML vous l'obtenir à partir d'une requête GET. Je pense que c'est de votre faute.TÊTE les réponses n'ont pas de corps. Ils retournent uniquement les en-têtes HTTP, le même, vous obtenez à l'aide d'une requête GET.