Comment puis-je exécuter une demande HEAD avec la bibliothèque mechanize?
-
02-07-2019 - |
Question
Je sais comment faire une requête HEAD avec httplib, mais je dois utiliser mécanize pour ce site.
Essentiellement, je dois récupérer une valeur dans l'en-tête (nom du fichier) sans télécharger le fichier.
Avez-vous des suggestions pour atteindre cet objectif?
La solution
La mécanisation elle-même n'envoie que les requêtes GET et POST, mais vous pouvez facilement étendre la classe Request à envoyer HEAD. Exemple:
import mechanize
class HeadRequest(mechanize.Request):
def get_method(self):
return "HEAD"
request = HeadRequest("http://www.example.com/")
response = mechanize.urlopen(request)
print response.info()
Autres conseils
En mécanisation, il n'est pas nécessaire de faire la classe HeadRequest, etc.
Simplement
import mechanize
br = mechanize.Browser()
r = br.open("http://www.example.com/")
print r.info()
C'est tout.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow