Python URLLib / URLLib2 POST

Je suis en train de créer un super simpliste Virtuel Dans /Conseil à l'aide de wx/Python. J'ai le code suivant à la place de l'un de mes demandes vers le serveur où je vais stocker les données:

data = urllib.urlencode({'q': 'Status'})
u = urllib2.urlopen('http://myserver/inout-tracker', data)
for line in u.readlines():
  print line

Rien de spécial se passe là-bas. Le problème que je vais avoir, c'est que, basé sur la façon dont j'ai lu les docs, cela devrait effectuer une Requête Post parce que j'ai fourni le paramètre de données et qui n'est pas le cas. J'ai ce code dans l'indice de cette url:

if (!isset($_POST['q'])) { die ('No action specified'); }
echo $_POST['q'];

Et chaque fois que je lance mon Application Python-je obtenir le "Non spécifiée" texte imprimé dans ma console. Je vais essayer de la mettre en œuvre à l'aide de la Demande des Objets que j'en ai vu quelques démos qui sont celles, mais je me demandais si quelqu'un peut m'aider à expliquer pourquoi je ne suis pas une Requête Post avec ce code. Merci!

-- ÉDITÉ --

Ce code fonctionne et Posts sur ma page web correctement:

data = urllib.urlencode({'q': 'Status'})
h = httplib.HTTPConnection('myserver:8080')
headers = {"Content-type": "application/x-www-form-urlencoded", 
           "Accept": "text/plain"}
h.request('POST', '/inout-tracker/index.php', data, headers)
r = h.getresponse()
print r.read()

Je suis toujours pas sûr pourquoi, la urllib2 bibliothèque ne pas Poster quand je fournir les données de paramètre pour moi les docs indiquer qu'il doit.

  • Pourquoi n'êtes-vous pas à l'aide de urllib2?
  • Je suis. urllib2.urlopen. Je suis seulement en utilisant urllib pour encoder les données post.
InformationsquelleAutor g.d.d.c | 2010-07-13