(Leicht) Http POST request
Verfasst: Donnerstag 12. März 2009, 22:14
Hallo,
weil Python mir relativ neu ist und ich es neben C++ lerne habe ich mich hier mal angemeldet.
Es geht um folgendes Problem:
Ich habe mit urlib2 ClientCookie und vielen anderen versucht ein C++ Programm von mir in Python nachzuprogrammieren, was sich auf einer Website über post/get-Befehle anmeldet und Formulare ausfüllt.
Mit den Get-Befehlen klappt es super, aber sobald ein Post Befehl dazukommt (im Parameter "Data" steht etwas) wird dieser zwar gesendet, aber die cookies fehlen auf einmal im request
Hier der Code:
Wenn ich es mit ClientCookie mache kommt genau das gleiche Problem und es liegt auch nicht daran, dass es localhost ist, denn es funktioniert auch mit meinem webspace nicht.
Für Hilfe wäre ich unendlich Dankbar.
Gruß
Lunarstorm
PS: Dass es fehlt finde ich mit einem Packet Monitor herraus
weil Python mir relativ neu ist und ich es neben C++ lerne habe ich mich hier mal angemeldet.
Es geht um folgendes Problem:
Ich habe mit urlib2 ClientCookie und vielen anderen versucht ein C++ Programm von mir in Python nachzuprogrammieren, was sich auf einer Website über post/get-Befehle anmeldet und Formulare ausfüllt.
Mit den Get-Befehlen klappt es super, aber sobald ein Post Befehl dazukommt (im Parameter "Data" steht etwas) wird dieser zwar gesendet, aber die cookies fehlen auf einmal im request
Hier der Code:
Code: Alles auswählen
import urllib
import urllib2
values = {'user' : 'Lunarstorm', 'pass' : 'geheim'}
testdata = {'submit' : 'data'}
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor())
urllib2.install_opener(opener)
# Login
request = urllib2.Request("http://localhost/index.php?action=login",urllib.urlencode(values))
response = urllib2.urlopen(request)
# Funktioniert wunderbar, cookies werden gesendet
response = urllib2.urlopen("http://localhost/query.php?menu=2BA")
# Funktioniert nicht, cookies werden nicht gesendet
request = urllib2.Request("http://localhost/submitdata.php",urllib.urlencode(testdata))
response = urllib2.urlopen(request)
# Funktioniert wieder, cookies werden gesendet
response = urllib2.urlopen("http://localhost/query.php?menu=2BA")
Für Hilfe wäre ich unendlich Dankbar.
Gruß
Lunarstorm
PS: Dass es fehlt finde ich mit einem Packet Monitor herraus