관리-도구
편집 파일: server.cpython-311.opt-1.pyc
� c��f_� � �z � d Z dZg d�ZddlZddlZddlZddlZddlZ ddl Z ddlZddlZddl Z ddlZddlZddlZddlZddlZddlZddlZddlZddl mZ dZdZ G d� d ej � � Z G d � dej e� � Z G d� d ej � � Z G d� de� � Z d� Z!da"d� Z#d� Z$ G d� de � � Z%d� Z&eedddfd�Z'e(dk r�ddl)Z)ddl*Z* e)j+ � � Z,e,�- ddd�� � e,�- ddd d!�"� � e,�- d#d$ e j. � � d%�&� � e,�- d'd(d)dd*�+� � e,�- d,de/d-d.�/� � e,�0 � � Z1e1j2 re%Z3ne Z3 G d0� d1e� � Z4 e'e3e4e1j5 e1j6 e1j7 �2� � dS dS )3a@ HTTP server classes. Note: BaseHTTPRequestHandler doesn't implement any HTTP request; see SimpleHTTPRequestHandler for simple implementations of GET, HEAD and POST, and CGIHTTPRequestHandler for CGI scripts. It does, however, optionally implement HTTP/1.1 persistent connections, as of version 0.3. Notes on CGIHTTPRequestHandler ------------------------------ This class implements GET and POST requests to cgi-bin scripts. If the os.fork() function is not present (e.g. on Windows), subprocess.Popen() is used as a fallback, with slightly altered semantics. In all cases, the implementation is intentionally naive -- all requests are executed synchronously. SECURITY WARNING: DON'T USE THIS CODE UNLESS YOU ARE INSIDE A FIREWALL -- it may execute arbitrary Python code or external programs. Note that status code 200 is sent prior to execution of a CGI script, so scripts cannot send other status codes such as 302 (redirect). XXX To do: - log requests even later (to capture byte count) - log user-agent header and other interesting goodies - send error log to separate file z0.6)� HTTPServer�ThreadingHTTPServer�BaseHTTPRequestHandler�SimpleHTTPRequestHandler�CGIHTTPRequestHandler� N)� HTTPStatusaD <!DOCTYPE HTML> <html lang="en"> <head> <meta charset="utf-8"> <title>Error response</title> </head> <body> <h1>Error response</h1> <p>Error code: %(code)d</p> <p>Message: %(message)s.</p> <p>Error code explanation: %(code)s - %(explain)s.</p> </body> </html> ztext/html;charset=utf-8c � � e Zd ZdZd� ZdS )r � c � � t j � | � � | j dd� \ }}t j |� � | _ || _ dS )z.Override server_bind to store the server name.N� )�socketserver� TCPServer�server_bind�server_address�socket�getfqdn�server_name�server_port)�self�host�ports �2/opt/alt/python311/lib64/python3.11/http/server.pyr zHTTPServer.server_bind� sN � ���*�*�4�0�0�0��(��!��,� ��d�!�>�$�/�/�������� N)�__name__� __module__�__qualname__�allow_reuse_addressr � r r r r � s) � � � � � ��� � � � � r r c � � e Zd ZdZdS )r TN)r r r �daemon_threadsr r r r r � s � � � � � ��N�N�Nr r c �� � e Zd ZdZdej � � � d z Zdez Z e ZeZ dZd� Zd� Zd� Zd � Zd#d�Zd$d�Zd$d �Zd� Zd� Zd� Zd%d�Zd� Ze� d� ej ed� � edd� � � � D � � � � Z de e!d� � <