2 回答

TA貢獻(xiàn)1865條經(jīng)驗(yàn) 獲得超7個(gè)贊
如果我理解得很好,你會尋找一種機(jī)制,它允許你在網(wǎng)絡(luò)服務(wù)器上顯示一個(gè)終端。
然后你想在那個(gè)終端上運(yùn)行一個(gè)交互式 python 腳本,對吧。
所以最終共享一個(gè)終端的解決方案不一定要用python寫,對吧?(雖然我必須承認(rèn),如果我找到它們,我更喜歡 python 解決方案,但有時(shí)務(wù)實(shí)并不是一個(gè)壞主意)
您可能會在 google 上搜索 http 和終端仿真器。
也許 ttyd 符合要求。https://github.com/tsl0922/ttyd
在 Linux 上構(gòu)建可以用
sudo apt-get install build-essential cmake git libjson-c-dev libwebsockets-dev
git clone https://github.com/tsl0922/ttyd.git
cd ttyd && mkdir build && cd build
cmake ..
make && make install
用法類似于:ttyd -p 8888 yourpythonscript.py
然后你可以連接到網(wǎng)絡(luò)瀏覽器http://hostip:8888
您當(dāng)然可以將此 URL“隱藏”在反向代理后面并為其添加身份驗(yàn)證或添加諸如--credential username:password密碼保護(hù) URL 之類的選項(xiàng)。
附錄: 如果您想與不同的人共享多個(gè)腳本并且共享更像是一個(gè)即時(shí)的事情,那么您可以查看 tty-share ( https://github.com/elisescu/tty-share ) 和 tty-server ( https://github.com/elisescu/tty-server )
tty-server 可以在 docker 容器中運(yùn)行。tty-share 可用于在您的機(jī)器上的一個(gè)終端上運(yùn)行腳本。它會輸出一個(gè) url,你可以將它提供給你想要與之共享特定會話的人)如果你認(rèn)為這很有趣,我可能會詳細(xì)說明這個(gè)

TA貢獻(xiàn)1757條經(jīng)驗(yàn) 獲得超7個(gè)贊
>> 在此插入安全免責(zé)聲明 <<
最簡單、最駭人聽聞的方法是創(chuàng)建一個(gè)div用于存儲輸出的元素和一個(gè)input用于輸入命令的元素。然后你可以將POST命令ajax到后端控制器。
控制器將接受命令并運(yùn)行它,同時(shí)捕獲命令的輸出并將其發(fā)送回網(wǎng)頁以在div
在 python 中,我使用它來捕獲命令輸出:
from subprocess import Popen, STDOUT, PIPE
proc = Popen(['ls', '-l'], stdout=PIPE, stderr=STDOUT, cwd='/working/directory')
proc.wait()
return proc.stdout.read()
添加回答
舉報(bào)