0

我试图在不使用框架的情况下仅使用普通 Python 托管网页,但遇到了一些问题。我正在使用 SimpleHTTPRequestHandler 并且能够让我的 index.html 在本地主机上运行。当我尝试使用 socketio 时,问题就开始了。加载网页时,我不断收到 404 错误:

"GET /socket.io/?EIO=4&transport=polling&t=Nrqja3L HTTP/1.1" 404 -
code 404, message File not found

我试着环顾四周,首先认为这是与 CORS 相关的问题,所以我尝试修复它,但这似乎没有帮助。我可能做错了。我在这个问题上已经有一段时间了,我不确定还有什么可以尝试的,所以我希望能得到一些帮助。

后端.py:

import socketio
import http.server

# standard Python
sio = socketio.AsyncClient()

PORT = 8080
DIRECTORY = "./index.html"

class Serv(http.server.SimpleHTTPRequestHandler):
    def doGet(self):
        self.path = DIRECTORY
        self.send_response(200)
        self.send_header("Access-Control-Allow-Origin", "*")
        self.send_header("Access-Control-Allow-Methods", "GET")

        self.end_headers()

handler = Serv
handler.extensions_map.update({
      ".js": "application/javascript",
})

httpd = http.server.HTTPServer(('localhost',8080), handler)
httpd.serve_forever()

索引.html:

test
<script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/4.0.1/socket.io.js" integrity="sha512-q/dWJ3kcmjBLU4Qc47E4A9kTB4m3wuTY7vkFJDTZKjTs8jhyGQnaUrxa0Ytd0ssMZhbNua9hE+E7Qv1j+DyZwA==" crossorigin="anonymous"></script>

<script>
    sio = io()
</script>
4

0 回答 0