Python - WebForm Gönderimi

Genellikle bir web sayfasıyla etkileşim, html sayfasında bulunan formlar aracılığıyla sunucuya bazı verilerin gönderilmesini gerektirir. Bu web formları tipik olarak, yeni bir hesaba kaydolma veya bir incelemenin sonucunu almak için ad veya rulo numarası gibi bazı bilgiler sağlama gibi işlemler için kullanılır. requests modül, gerekli parametrelerle POST yöntemini kullanarak bunu incelikle gerçekleştirir.

Misal

Aşağıdaki örnekte, kullanıcı kimliği ve parola değeri sağlayarak bir web sitesinin kayıt formunu kullanıyoruz. Değerlerin gönderilmesinden sonra cevabı yazdırıyoruz.

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

Yukarıdaki programı çalıştırdığımızda aşağıdaki çıktıyı alıyoruz -

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