首页 > 解决方案 > 自动从python登录as400

问题描述

我正在尝试登录 IBM (AS/400) Python。我可以知道如何连接吗?我使用 telnet 尝试了一些代码,但没有成功。这是我的代码:

import telnetlib

HOST = "pub400.com"
user = "USER0123"
password = "user0123"

tn = telnetlib.Telnet(HOST)

tn.read_until(b"login: ")

标签: pythonibm-midrange

解决方案


AS/400 平台使用对 telnet 协议的扩展来定义 1. 光标定位和颜色/屏幕属性的数据格式以及 2. 面向块的方法,5250 和 3270 协议是众所周知的。就像您填写网络表单(在基于字符的窗口中):编辑完全在客户端完成。填写完成后,您将整个表格提交给主机进行处理。python telnetlib 可能根本无法应对这些特殊行为。

最后,您真的了解您的代码片段应该做什么吗?我问是因为您的示例代码引用了普通的 unix“登录:”字符串,但 AS/400 的用户名字段称为“用户”,并且后面没有冒号。您是否尝试使用普通的 vt100/telnet 协议客户端进行测试来连接并查看会发生什么?

AS/400 实际上可以与 vt100 通话,但它真的很笨拙,有点临时。不支持颜色,F-Key 处理很少按预期工作。AS/400 绿屏广泛使用 F 键。没有 UTF8,您需要将控制台窗口设置为拉丁语 1 或您在 AS/400 上的国家代码转换为的任何内容。SysReq 和 Attn 等特殊功能键需要多次击键才能访问这些功能。

因此,如果没有更多输入您想要实现的目标,就不可能给出建议。此外,“没有解决”不是有用的错误描述。请始终报告实际的错误消息文本。您仍然可以更新您的初始问题。


推荐阅读