gpt4 book ai didi

python - 有没有办法从 Jupyter Notebook 中导航 Web 服务器(两者都在同一服务器上运行)?

转载 作者:太空宇宙 更新时间:2023-11-03 20:39:13 25 4
gpt4 key购买 nike

考虑一个安装在端口 8888 上的远程服务器上的 jupyter 笔记本。假设该远程服务器在端口 80 上还有一个 Web 服务器。还要考虑端口 8888 是向公众公开的,但端口 80 不是,它只能访问从本地主机(运行 jupyter 笔记本的地方)。有没有办法从本地 Web 浏览器中打开的 jupyter 笔记本导航此本地 Web 服务器?

我尝试在 stackoverflow 上找到一些解决方案,但找不到适合我情况的解决方案。

我发现了很多东西,比如使用 IPython.display 中的 IFrame,还有使用 urlopen 之类的东西,但它没有像我预期的那样工作,我无法像我们一样在 Web 服务器中导航在标准网络浏览器中执行。我想我需要一些东西,比如端口转发,或者代理,或者在 python 中实现的在 jupyter 笔记本中工作的隧道。

from six.moves.urllib.request import urlopen
url='http://localhost:80'
response = urlopen(url)
content = str(response.read())

from IPython.core.display import display, HTML
display(HTML(content))

它在 jupyter 笔记本中打印 HTML,但我们无法按预期导航,如使用:

from IPython.display import IFrame

url = 'https://www.wikipedia.org'
IFrame(url, width=800, height=400)

一些建议?

最佳答案

您可以在笔记本中呈现任意 HTML。

作为对您的评论的回应,您能否通过标准 GET 请求该页面,并通过 IPython HTML 标记呈现它?

由于请求将在本地执行,因此笔记本可以获取内容。根据页面复杂性(例如静态资源路径),它将呈现 html:

import requests
content = requests.get('https://localhost:80/').text
from IPython.display import HTML, display
display(HTML(content))

替代方案可以是简单的代理,例如 https://ngrok.com/

<小时/>

在代码中创建标准 HTML 超链接:

from IPython.display import HTML, display
display(HTML("<a target='_blank' href='https://google.com'>google</a>"))

或者,Markdown block 允许标准 HTML 标签添加相同的 <a>超链接。

关于python - 有没有办法从 Jupyter Notebook 中导航 Web 服务器(两者都在同一服务器上运行)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56960966/

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