带有请求的Python长轮询模式

时间:2017-08-03 15:34:11

标签: php python python-requests long-polling

我正在使用PHP脚本和服务器上的MySQL数据库以及客户端上的python脚本进行长轮询模式。 如果数据库中的标志设置为0,则PHP页面将以tupel的id响应。如果请求超时,则应启动新请求。这是我的代码,我找不到我的错误:

gotID = False
ID = 0

while gotID == False:
    f = requests.get("http://example.de/ajax_backend.php")
    print("status: " + str(f.status_code))
    print("content: " + f.text)
    if int(f.status_code) == 200:
        gotID = True
        ID = f.text

如果我像这样运行代码,我会得到这个输出。首先将标志设置为1,然后在中间我将标志更改为0:

console output python script

我认为if语句中有错误,但我找不到它。你能救我吗?

1 个答案:

答案 0 :(得分:0)

我现在创建了一个工作代码:

gotID = None
ID = 0

while not gotID:
    f = requests.get("http://example.de/ajax_backend.php")
    print("status: " + str(f.status_code))
    print("content: " + f.text)

    try:
        ID = int(f.text)
        gotID = "samlpe content"
    except ValueError:
        gotID = None

但我仍然不知道为什么上面的代码不起作用。