Передача данных с веб-страницы на веб-сервер с помощью метода GET с добавлением к URL пар ключ:значение достаточна проста, но при этом имеет некоторые ограничения — длина строки запроса не может превышать 1024 символа, а передаваемые значения отображаются в адресной строке браузера. Существует альтернативный и более надежный способ, при помощи которого браузер может отправлять данные в программу без добавления какой-либо информации к URL-адресу — это использование метода POST, который пересылает информацию на веб-сервер в виде отдельного сообщения.

<!-- get.html -->
<!DOCTYPE HTML>
<html lang="ru">
<head>
<meta charset="UTF-8">
<title>Python Данные формы</title>
</head>
<body>
<form method="POST" action="/cgi-bin/1.py">
Имя: <input type="text" name="name" value="Сергей">
Фамилия:
<input type="text" name="surname" value="Пушкин">
<input type="submit" value="Отправить">
</form>
</body>
</html>

#!C:\Users\1\AppData\Local\Programs\Python\Python35-32\python.exe
#1.py

import cgi
data = cgi.FieldStorage()
name = data.getvalue('name')
surname = data.getvalue('surname')

print('Content-type:text/html\r\n\r\n')
print('<!DOCTYPE HTML>')
print('<html lang="ru">')
print('<head>')
print('<meta charset="UTF-8">')
print('<title>Результат работы Python-скрипта</title>')
print('</head>')
print('<body>')
print('<h1>', name, surname, '</h1>')
print('<a href="/get.html">Назад</a>')
print('</body>')
print('</html>')