Le calcul de Content-Length avec Python
Je suis en train de faire un post, mais chaque fois que je l'ai fait, je voudrais obtenir un 411 erreur de réponse. Je suis en utilisant la demande de la bibliothèque en python.
In [1]: r.post(url)
Out[1]: <Response [411]>
Alors que j'ai précisé le contenu de la longueur h = {'content-length' : '0'}
et essayez de nouveau.
In [2]: r.post(url,h)
Out[2]: <Response [200]>
Si grand, je obtenir un succès, cependant aucune information n'est affichée.
Je pense que j'ai besoin de calculer la longueur du contenu, ce qui est logique, car il pourrait être "découper" le post.
Donc ma question est, étant donné un url www.example.com/import.php?key=value&key=value
comment puis-je calculer la content-length
? (en python si possible)
Cela fonctionne si vous utilisez simplement
Veuillez ajouter des informations à propos de la version de Demandes que vous utilisez. Veuillez aussi inclure des cas de test dont les résultats en 411 réponse du code de statut.
Visiter ce lien pour obtenir la réponse de votre question
urllib
? (Je suis surpris que request
n'est pas de remplir automatiquement le Content-Length
en-tête, étant donné que c'est basé sur httplib
qui n'.)Veuillez ajouter des informations à propos de la version de Demandes que vous utilisez. Veuillez aussi inclure des cas de test dont les résultats en 411 réponse du code de statut.
Visiter ce lien pour obtenir la réponse de votre question
OriginalL'auteur tshauck | 2012-03-13
Vous devez vous connecter pour publier un commentaire.
Il semble étrange que vous utilisez
post
méthode sansdata
argument (mais mettre les données dans l'url).Regardez l'exemple de la des demandes officielles de la documentation :
OriginalL'auteur Leonid Shvechikov
Envoi
POST
demande vides corps est parfaitement légal aussi longtemps que leContent-Length
en-tête est envoyé et mis à0
. Demandes normalement le calcul de la valeur pourContent-Length
en-tête. Le comportement que vous observez est probablement dû à un problème Deux cent vingt trois - Content-Length est manquant.Bien que le bug n'est pas fermé, il ressemble à ce problème a été résolu:
OriginalL'auteur Piotr Dobrogost