Python - WebForm-Übermittlung

Häufig müssen für die Interaktion mit einer Webseite einige Daten über die auf der HTML-Seite vorhandenen Formulare an den Server gesendet werden. Diese Webformulare werden normalerweise für Prozesse wie die Anmeldung für ein neues Konto oder die Angabe von Informationen wie Name oder Rollennummer verwendet, um das Ergebnis einer Prüfung abzurufen. Dasrequests Das Modul behandelt dies ordnungsgemäß mithilfe der POST-Methode mit den erforderlichen Parametern.

Beispiel

Im folgenden Beispiel verwenden wir das Anmeldeformular einer Website, indem wir die Benutzer-ID und den Kennwortwert angeben. Nach der Übermittlung der Werte drucken wir die Antwort.

import requests
ID_USERNAME = 'signup-user-name'
ID_PASSWORD = 'signup-user-password'
USERNAME = 'username'
PASSWORD = 'yourpassword'
SIGNUP_URL = 'http://codepad.org/login'
def submit_form():
    """Submit a form"""
    payload = {ID_USERNAME : USERNAME, ID_PASSWORD : PASSWORD,}
    resp = requests.get(SIGNUP_URL)
    print "Response to GET request: %s" %resp.content
    resp = requests.post(SIGNUP_URL, payload)
    print "Headers from a POST request response: %s" %resp.headers
#print "HTML Response: %s" %resp.read()
if __name__ == '__main__':
    submit_form()

Wenn wir das obige Programm ausführen, erhalten wir die folgende Ausgabe:

Response to GET request: <!DOCTYPE html>
<html>
<head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <meta HTTP-EQUIV="Pragma" CONTENT="no-cache">
    <meta HTTP-EQUIV="Expires" CONTENT="-1">
    <title>Login - codepad</title>
    
    <link href="/main.css" media="screen" rel="stylesheet" type="text/css" />
    <style type="text/css">
    
    </style>
    <script src='https://www.google.com/recaptcha/api.js'></script>
    <script>
       function onRecaptcha(token) {
         document.getElementById("editor-form").submit();
       }
    </script>
</head>
    <body >
	.....................
	.....................