2017-03-08 1 views
0

J'ai créé deux environnements virtuels dans la même machine virtuelle.Différentes réponses HTTP utilisant les mêmes packages dans deux py virtualenv différents

pip freeze et pip list montrent les mêmes packages installés.

La sortie de requests Lib est différente.

Comment puis-je voir ce qui les différencie? Dois-je fournir du code?

  • demandes = 2.13 avec la sécurité
  • urllib = 1,20
  • python 3.4.5
+0

s'il vous plaît faire. Et fournissez également la sortie de "pip gel" des deux venvs. – nir0s

Répondre

0

Tout d'abord, êtes-vous que la page que vous avez accès est censé revenir le même contenu à chaque fois ? Some pages change with every request.

Si vous devriez obtenir des réponses identiques, vérifiez que les requêtes que vous envoyez sont identiques. Vous pouvez le faire en utilisant requests_toolbelt:

import requests 
from requests_toolbelt.utils import dump 

response = requests.post('http://google.com/', data={'foo': 'bar'}) 
data = dump.dump_all(response) 
print(data.decode('utf-8')) 

Ce videra chaque paire de demande et la réponse dans l'histoire de redirection. La demande générée par le code ci-dessus ressemble à ceci:

< POST/HTTP/1.1 
< Host: google.com 
< Connection: keep-alive 
< Accept-Encoding: gzip, deflate 
< Accept: */* 
< User-Agent: python-requests/2.13.0 
< Content-Length: 7 
< Content-Type: application/x-www-form-urlencoded 
< 
< foo=bar 

Assurez-vous que les URL, tous les en-têtes et les corps de demande correspondent exactement.