Python - Gửi WebForm
Thường thì việc tương tác với một trang web cần một số dữ liệu được gửi đến máy chủ thông qua các biểu mẫu có trong trang html. Các biểu mẫu web này thường được sử dụng cho các quy trình như đăng ký tài khoản mới hoặc cung cấp một số thông tin như tên hoặc số cuộn để lấy kết quả kiểm tra. Cácrequests mô-đun xử lý điều này một cách duyên dáng bằng cách sử dụng phương thức POST với các tham số bắt buộc.
Thí dụ
Trong ví dụ dưới đây, chúng tôi sử dụng biểu mẫu đăng ký của một trang web bằng cách cung cấp giá trị sử dụng và mật khẩu. Sau khi gửi các giá trị, chúng tôi in phản hồi.
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()
Khi chúng tôi chạy chương trình trên, chúng tôi nhận được kết quả sau:
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 >
.....................
.....................