Seite 1 von 1

externe formularbearbeitung

Verfasst: Dienstag 4. Januar 2005, 18:05
von Florian
hoi! :D

ich suche nach einer möglichkeit wie ich auf einer beliebigen seite mit python ein formular ausfülle und dies abschicken kann, eventuell auch mehrmals hintereinander also in ner schleife.

hab da mal was von urllib gehört...
vieleicht hat ja jemand nen codeschnipsel oder so

mfg florian

Verfasst: Dienstag 4. Januar 2005, 20:12
von fs111
In der Doku sind sowohl für httplib als auch für urllib Beispiele:

http://python.org/doc/current/modindex.html


fs111

Verfasst: Dienstag 4. Januar 2005, 22:27
von Florian
hoi!

habs jetzt mal so weit gebracht...

Code: Alles auswählen


import urllib

username = 'peter'
message = 'hallo blabla'
parameter = urllib.urlencode({'username': username, 'message': message, 'send': "submit"})

for i in range(5):
    urllib.urlopen ("http://www.domain.de/test", parameter)


es wird eine seite aufgerufen welche ich mal zu testzwecken angelegt habe die ein einfaches formular enthält

ein input feld name="username"
ne textarea name="message"
un ein submitbutton name="send"

habe mal keine method angegeben und es funktioniert so weit, die email wird mit den daten vom script generiert und kommt an so als hätte ich sie vom formular aus geschickt...

nun hab ich das ganze mit meinem gästebuch getestet ( das benutzt method="post") wo die daten in nem eigenen objekt übertragen werden und nicht als querystrings und es geht nicht
wie könnte ich das generell eleganter machen mit dem script und hat dieser "fehler" was mit der übertragungsart zu tun die das formular nutzt?

mfg und danke schon mal
florian

Verfasst: Dienstag 4. Januar 2005, 22:55
von Dookie
Hi Florian,

da wirst wohl mit der httplib weiterkommen, da gibts bei der Klasse HTTPConnection die Methode putrequest, bei der du die Requestmethode "GET" oder "POST" angeben kannst.


Gruß

Dookie

Verfasst: Dienstag 4. Januar 2005, 23:31
von Milan
So wie er es gerade macht, ist es aber schon POST...