与javascript和localhost的通信

-1 投票
2 回答
2203 浏览
提问于 2025-04-18 13:22

我有一段JavaScript代码在浏览器上运行,同时在同一台机器的本地也有一段Python代码在运行。

我需要找到一种方法让它们之间能够互相交流。

使用Socket客户端和服务器的方式不行,因为JavaScript不支持socket。

如何在JavaScript/HTML中使用Socket?: “JavaScript或HTML中没有使用通用socket的功能。这会带来安全隐患。”

而通过服务器进行通信我也不感兴趣。我需要在本地进行直接的交流。

有没有什么方法可以让JavaScript和本地的代码在不使用socket的情况下进行通信呢?

2 个回答

0

httprelay.io 不需要额外的库,可以用来实现简单的HTTP客户端之间的通信。也就是说,在浏览器这边可以使用AJAX请求,而在Python这边可以用任何HTTP客户端。

1

不可以,根据定义,JavaScript 不能使用 TCP/IP 套接字,因为这会在网络安全模型中造成一个超级大的安全漏洞。

你可以使用:

  • HTTP 请求(AJAX)

  • WebSockets

  • WebRTC

... 来和本地计算机进行通信。最简单的办法是启动一个 SimpleHTTPServer,然后让 JavaScript 通过 AJAX 请求来访问它。

请注意,这些通信可能在用 file:// 打开的 HTML 文件中不太好使,你可能需要使用一个本地开发服务器。

撰写回答