将十六进制数字发送到登录屏幕

时间:2019-01-31 21:11:31

标签: python

我有一个脚本,该脚本旨在在用户连接时发送ENQ命令(ASCII 005)。如果用户无法提供自动回复,则我的脚本会发送“ Who Are You”。如果未对ENQ或文本请求给出任何响应,则该用户将被丢弃。文字部分有效,但客户端似乎看不到ENQ,因此可以触发自动响应。

我已经做了大量研究,但似乎找不到我想要的答案。似乎正确,但不起作用。通常,Google几乎可以解决我遇到的任何问题,但是在这种情况下,我必须问的问题是错误的。

这是Python 2.6.6。

def handle_send(self):

    if self.curr_state == self.started:
        return '\005'                               # Sends the control charactor E (ENQ)
    elif self.curr_state == self.waiting:
        return 'Who are you\r\n'                    # If no response to above, asks in plain language
    elif self.curr_state == self.connected:
        return 'GA+\r\n'                            # If the response is valid, this is hosting saying OK
    elif self.curr_state == self.terminated:
        return ''
    else:
        return ''

正常的有效响应为“ GA +”,表示系统已接受您的ENQ响应为有效。如果您在自动ENQ响应中放弃之后输入了有效信息,它将接受手动提交的有效数据,并允许您输入“ GA +”来继续。

应用程序的所有其他部分和相关程序都可以正常工作。

问题是,我认为我没有正确发送ASCII字符005。

0 个答案:

没有答案