2009-03-30 6 views
2

Gerade begann mit Google App Engine zu spielen & Python (als Ausrede;)). Wie übermittle ich richtig eine Form wie diesesProgrammgesteuertes Senden eines Formulars in Python?

<form action="https://www.moneybookers.com/app/payment.pl" method="post" target="_blank"> 
<input type="hidden" name="pay_to_email" value="[email protected]"> 
<input type="hidden" name="status_url" 
<!-- etc. --> 
<input type="submit" value="Pay!"> 
</form> 

w/o die Daten an Benutzer auszusetzen?

Antwort

6

Es klingt, als ob Sie nach urllib suchen.

Hier ist ein Beispiel Entsendungs ​​in der Dokumentenbibliothek:

>>> import urllib 
>>> params = urllib.urlencode({'spam': 1, 'eggs': 2, 'bacon': 0}) 
>>> f = urllib.urlopen("http://www.musi-cal.com/cgi-bin/query", params) 
>>> print f.read() 
0

Durch Ausblenden der sensiblen Bits des Formulars und Senden über JavaScript.

Stellen Sie sicher, dass ein guter Weg, um das Formularelement des Verweises ...

<form ... id="moneybookersForm">...</form> 

... und beim Laden der Seite, führen Sie so etwas wie

document.getElementById("moneybookersForm").submit(); 

Mindestens I don‘ Ich kenne andere Wege. Für JavaScript-Behinderte ist das Pay! Schaltfläche sollte sichtbar bleiben.

+1

Er für eine Lösung in Python zu fragen, nicht in Javascript. –

+0

Ich habe nur erraten, was er wollte. Soweit ich weiß, gibt es keine Möglichkeit, ein Formular in serverseitigem Python einzureichen und dem User-Agent trotzdem die resultierende Seite anzeigen zu lassen. – AKX

+0

Nein, aber Sie können das Ergebnis an den Client weiterleiten. –