Comment utiliser python urllib2 pour envoyer des données json pour la connexion
Je veux utiliser python urllib2 pour simuler une action login, j'utilise un violon pour attraper les paquets et obtenu que l'action login est juste une requête ajax et le nom d'utilisateur et le mot de passe est envoyé en tant que données json, mais je n'ai aucune idée de comment l'utiliser urllib2 pour envoyer des données json, aide...
OriginalL'auteur richie | 2010-12-03
Vous devez vous connecter pour publier un commentaire.
Cela suppose que vous êtes à l'aide de HTTP POST pour envoyer un simple objet json avec le nom d'utilisateur et mot de passe.
OriginalL'auteur Thomas K
Pour Python 3.x
Noter les points suivants
En Python 3.x le
urllib
eturllib2
modules ont été combiné. Le module est nomméurllib
. Alors, rappelez-vous queurllib
en Python 2.x eturllib
en Python 3.x sont DIFFÉRENTS modules.Les données POST pour
urllib.request.Request
en Python 3 n'accepte PAS une chaîne de caractères (str
) - vous avez à passer unbytes
objet (ou un objet iterablebytes
)Exemple
passer
json
données POST en Python 3.xEnfin, notez que vous pouvez UNIQUEMENT envoyer une requête POST si vous avez des données à envoyer.
Si vous voulez faire un HTTP POST sans envoyer de données, vous devez envoyer un vide dict que des données.
OriginalL'auteur treecoder
Vous pouvez spécifier les données à la demande:
OriginalL'auteur Reto Aebersold
Vous pouvez utiliser la "demande" bibliothèque python pour réaliser ceci:
http://docs.python-requests.org/en/latest/index.html
Vous trouverez cet exemple:
http://docs.python-requests.org/en/latest/user/quickstart/#more-complicated-post-requests (Plus compliqué requêtes POST)
Il semble que python ne pas donner de bons en-têtes lorsque vous essayez d'envoyer JSON au lieu de urlencoded de données.
OriginalL'auteur toutpt