Как принимать post/get запросы в python?

Пользователь

от magali , в категории: Python , 6 месяцев назад

Как принимать post/get запросы в python?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от ciara , 6 месяцев назад

@magali 

В Python для принятия POST и GET запросов можно использовать различные библиотеки. Например, с использованием стандартной библиотеки http.server можно создать простой сервер, который будет принимать POST и GET запросы.


Ниже приведен пример кода, который создает сервер и выводит полученные запросы в терминал:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
from http.server import BaseHTTPRequestHandler, HTTPServer
from urllib.parse import urlparse, parse_qs

class RequestHandler(BaseHTTPRequestHandler):
    def do_GET(self):
        parsed_path = urlparse(self.path)
        query_params = parse_qs(parsed_path.query)

        self.send_response(200)
        self.send_header('Content-type', 'text/html')
        self.end_headers()
        self.wfile.write(bytes(f"GET request received: {query_params}", 'utf-8'))

    def do_POST(self):
        content_length = int(self.headers['Content-Length'])
        post_data = self.rfile.read(content_length)

        self.send_response(200)
        self.send_header('Content-type', 'text/html')
        self.end_headers()
        self.wfile.write(b"POST request received: " + post_data)

def run(server_class=HTTPServer, handler_class=RequestHandler, port=8000):
    server_address = ('', port)
    httpd = server_class(server_address, handler_class)
    print(f"Server running on port {port}")
    httpd.serve_forever()

run()


После запуска вы сможете отправлять GET и POST запросы на http://localhost:8000 и видеть полученные данные в терминале.