gpt4 book ai didi

javascript - 在 Google Colab 上,从 Javascript 访问本地主机失败

转载 作者:行者123 更新时间:2023-12-01 16:09:46 25 4
gpt4 key购买 nike

我有一个 Javascript 片段,我的 Jupyter 笔记本将它安装到浏览器页面中。它访问在我的 PC 上运行的支持 REST 的交互式应用程序(即 Cytoscape)。

来自 Javascript 的 Cytoscape 调用的示例是“GET http://localhost:1234/v1/version”...由正常的 xmlHTTPRequest.send() 调用执行。

在其他 Jupyter Notebook 系统(例如 GenePattern Notebook)上,这工作正常。查看 Chrome 的网络跟踪,看起来我的 HTTP 调用被拦截,并且对 colab 的单独调用似乎试图授权调用(???)。以下是 Chrome 在调试控制台中显示的内容:

enter image description here

colab 调用似乎发生在这里:https://colab.research.google.com/v2/external/external_polymer_binary.js?vrz=colab-20200817-085601-RC01_327067882

最后,我的调用似乎被禁止了......我得到了 HTTP 状态 500。

知道如何说服 colab 让我对本地 Cytoscape 的 Javascript 级调用通过吗?任何信息都可能有所帮助。

谢谢!

最佳答案

在 Colab 中对 localhost 的请求被重定向到 VM 后端。

详情在这里: https://colab.research.google.com/notebooks/snippets/advanced_outputs.ipynb#scrollTo=R8ZvCXC5A0wT

解决方法是将请求定向到 127.0.0.1 而不是主机名 localhost。只有 localhost 请求被拦截。

具体来说,这个单元将从 Colab 后端虚拟机中获取:

%%javascript
// Fetches from the backend VM on port 1234.
fetch('http://localhost:1234/')

而此单元将从运行浏览器的本地计算机获取。

%%javascript
// Fetches from the machine running the browser.
fetch('http://127.0.0.1:1234/')

关于javascript - 在 Google Colab 上,从 Javascript 访问本地主机失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63478954/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com