Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何连接到正在运行的web.py脚本端口/套接字_Python_Web_Cgi_Web.py - Fatal编程技术网

Python 如何连接到正在运行的web.py脚本端口/套接字

Python 如何连接到正在运行的web.py脚本端口/套接字,python,web,cgi,web.py,Python,Web,Cgi,Web.py,我不熟悉web框架和web开发(我主要是Python桌面开发人员),一直在尝试web.py,取得了一些成功,但现在我陷入了困境 我的目标是让应用程序“运行”并不断更新,以便根据需要检索当前状态。在下面的基本示例中,我想启动一个计数器,并在连接到running应用程序时查看当前值 print("Content-type: text/html\n\n") from threading import Thread import time import web urls = ('/', 'index'

我不熟悉web框架和web开发(我主要是Python桌面开发人员),一直在尝试web.py,取得了一些成功,但现在我陷入了困境

我的目标是让应用程序“运行”并不断更新,以便根据需要检索当前状态。在下面的基本示例中,我想启动一个计数器,并在连接到running应用程序时查看当前值

print("Content-type: text/html\n\n")
from threading import Thread
import time
import web

urls = ('/', 'index')



def test():
    while True:
        web.app.count += 1
        print(web.app.count)
        time.sleep(5)


class index:
    def GET(self):
        return web.app.count


if __name__ == '__main__':
    web.app = web.application(urls, globals())
    web.app.count = 0
    t = Thread(target=test)
    t.daemon = True
    t.start()
    web.app.run()
如果我使用localhost运行应用程序,它将按预期工作,我将连接到localhost:8080,并且打印到屏幕的值与打印到控制台的值匹配。如果我将该脚本作为cgi脚本上传到我的web主机,则该应用程序不会连续运行,并且每次连接到其url时都会运行,每次返回1,这可能是正常的。如所见,我似乎需要通过SSH运行脚本,例如:

python app.py 1234 > log.txt 2>&1 &

在端口1234上运行(默认值8080为“正在使用”)。这似乎有效,但我不知道在我的网站上哪里可以看到running应用程序。如何连接到此端口1234?myurl.com:1234不起作用,脚本的url仍然具有与以前相同的行为。我想答案并不是针对web.py的,而是我不了解这些东西是如何工作的——我的谷歌搜索没有返回任何有用的东西,可能是因为我问的问题不对。

myurl.com:1234在什么方面不起作用?你是如何连接到它的?错误是什么?就在我的浏览器(谷歌浏览器)中。错误是“无法访问此站点”。或者,如果我尝试“myurl.com/cgi-bin/test.py:1234”,则会出现404错误。正确的语法是
myurl.com:1234/cgi-bin/test.py
,但它应该给出相同的“无法访问”错误。在myurl.com上配置防火墙并打开端口1234,以便从外部访问。我希望这是正确的答案,尽管我的共享主机将只打开出站端口,我相信我需要一个入站端口来设置。也许AWS或类似的软件是测试这个的方法?任何你可以根据自己的喜好配置的软件都可以。