python - 自动从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: ")
解决方案
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 等特殊功能键需要多次击键才能访问这些功能。
因此,如果没有更多输入您想要实现的目标,就不可能给出建议。此外,“没有解决”不是有用的错误描述。请始终报告实际的错误消息文本。您仍然可以更新您的初始问题。
推荐阅读
- datetime - 什么是 TAI64 时间格式?
- c++ - 为什么 std::bind 绑定到成员函数时不会编译?
- java - 是否可以从 Android Studio 项目生成项目 wiki?
- python - - 不支持的操作数类型:“list”和“int”
- laravel - 如何在 Laravel Mix 中使用 PurifyCSS?
- python - 无法终止多处理python(linux)中的进程
- css - Bootstrap 4 粘性顶部不起作用
- php - laravel 5.6中的1对n关系
- regex - 使用正则表达式提取字符串检索“True 111499”
- php - 在多个表单ajax中提交一个表单