Python - Soumission WebForm

L'interaction avec une page Web nécessite souvent que certaines données soient soumises au serveur via les formulaires présents dans la page html. Ces formulaires Web sont généralement utilisés pour des processus tels que la création d'un nouveau compte ou la fourniture d'informations telles que le nom ou le numéro de rôle pour récupérer le résultat d'un examen. lerequests module gère cela avec élégance en utilisant la méthode POST avec les paramètres requis.

Exemple

Dans l'exemple ci-dessous, nous utilisons le formulaire d'inscription d'un site Web en fournissant l'ID utilisateur et le mot de passe. Après la soumission des valeurs, nous imprimons la réponse.

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()

Lorsque nous exécutons le programme ci-dessus, nous obtenons la sortie suivante -

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 >
	.....................
	.....................