Я новичок в Python WSGI и пытаюсь настроить свой собственный сервер для проверки моей страницы login.html (которая использует AJAX).
Но когда я запускаю свой WSGI.py (мой сервер, который я сделал с помощью учебника), я получаю эту ошибку:
Traceback (последний последний вызов):
Файл "C: \ Users \ Print \ Desktop \ Website \ KazCare \ wsgi.py", строка 63, в
start_server ()
Файл "C: \ Users \ Print \ Desktop \ Website \ KazCare \ wsgi.py", строка 57, в start_server
httpd = make_server ("", PORT, test_app)
Файл "C: \ Python27 \ lib \ wsgiref \ simple_server.py", строка 144, в make_server
сервер = класс_сервера ((хост, порт), класс_хендера)
Файл "C: \ Python27 \ lib \ SocketServer.py", строка 408, в init
self.server_bind ()
Файл "C: \ Python27 \ lib \ wsgiref \ simple_server.py", строка 48, в server_bind
HTTPServer.server_bind (само)
Файл "C: \ Python27 \ lib \ BaseHTTPServer.py", строка 108, в server_bind
SocketServer.TCPServer.server_bind (само)
Файл "C: \ Python27 \ lib \ SocketServer.py", строка 419, в server_bind
self.socket.bind (self.server_address)
Файл "C: \ Python27 \ lib \ socket.py", строка 224, в мет
return getattr (self._sock, name) (* аргументы)
ошибка: [Errno 10013] Была сделана попытка получить доступ к сокету способом, запрещенным его правами доступа
Что вы думаете, я делаю не так?
Вот мой сервер:
import threading
import webbrowser
from wsgiref.simple_server import make_server
FILE = 'frontend.html'
PORT = 8080
def test_app(environ, start_response):
if environ['REQUEST_METHOD'] == 'POST':
try:
request_body_size = int(environ['CONTENT_LENGTH'])
request_body = environ['wsgi.input'].read(request_body_size)
except (TypeError, ValueError):
request_body = "0"
try:
response_body = str(int(request_body) ** 2)
except:
response_body = "error"
status = '200 OK'
headers = [('Content-type', 'text/plain')]
start_response(status, headers)
return [response_body]
else:
response_body = open(FILE).read()
status = '200 OK'
headers = [('Content-type', 'text/html'), ('Content-Length', str(len(response_body)))]
start_response(status, headers)
return [response_body]
def open_browser():
"""Start a browser after waiting for half a second."""
def _open_browser():
webbrowser.open('http://localhost:%s/%s' % (PORT, FILE))
thread = threading.Timer(0.5, _open_browser)
thread.start()
def start_server():
"""Start the server."""
httpd = make_server("", PORT, test_app)
httpd.serve_forever()
if __name__ == "__main__":
open_browser()
start_server()