【问题标题】:How to screen-scrape AS400 with PHP?如何使用 PHP 对 AS400 进行屏幕抓取?
【发布时间】:2012-12-19 11:11:39
【问题描述】:

有没有一种免费的方法可以使用 PHP 将屏幕抓取到 AS400?

我知道 Zend 解决方案,但它不是免费的。

编辑
好的,我会详细说明。

我们有许多由一些程序员多年来编写的 AS400 应用程序。
现在我的老板希望能够在 AS400 之外使用他们的屏幕。
所以他告诉我用 c# 和 ehllapi 来做。
问题是我不是很丰富的编程经验大部分是 PHP 和 JS,而不是 c#。
我找到了一份关于使用 c# 进行屏幕抓取的指南,但没有详细说明,这对我来说似乎是一项几乎如果不是完全不可能的工作,除非我用我知道的语言来做。

【问题讨论】:

  • 请澄清/详细说明您的要求,以避免任何潜在的误解。通常,当我们提到屏幕抓取时,我们的意思是捕获 5250(“绿屏”)会话的数据流,而不触及原始的 [RPG/COBOL] 应用程序,并将其转换为基于 HTTP 浏览器的会话。但我想确保您不意味着您已经拥有一个基于 PHP 浏览器的应用程序,并且希望从中捕捉白日梦。
  • 是的,我想在现有 AS400 程序的屏幕中获取数据(字段)而不接触它们,并在 PHP 的帮助下将其流式传输到 html 页面中。我只有 AS400 程序可以运行,没有 PHP 应用程序。
  • 如果您有任何发现,请告诉我。我找了好久都没有成功。
  • 不要仅仅因为它们是非免费的就排除非免费的解决方案。 Zend 解决方案可能要花钱,但它可能比自己编写要便宜,尤其是在您对所涉及的协议一无所知的情况下。 (别告诉我你的雇主不会伸手去拿——任何拥有 AS400 的人都习惯于在他们的 IT 解决方案上花费大笔现金)
  • 我同意@SDC。我以前遇到过这种情况,浪费了更多的时间。

标签: php screen-scraping ibm-midrange


【解决方案1】:

您真的需要屏幕抓取,还是只使用 PHP (PDO) 来使用 SQL 语句查看保存在 AS/400 上的数据?

我的一个早期 AS/400 客户认为他们想使用屏幕抓取功能来为他们的一些应用程序启用 Web。当我向他们展示他们的界面可以使用网络浏览器而不是绿屏时,他们很快改变了主意。他们最终放弃了屏幕抓取的想法,并聘请了一些创建 PHP 页面的 Web 开发人员来操作 AS/400 上的数据。

很明显,有时简单(甚至复杂)的 SQL 语句无法满足您的需求 - 您仍然可以从 PHP 调用 AS/400 上的程序。看看PHP Toolkit for i5/OS,Zend 免费提供。

【讨论】:

  • Benny,当被调用的程序试图打开一个显示文件时会发生什么?
  • @Benny Hill,请在顶部查看我的编辑。我确实需要屏幕抓取,因为我们已经有几十个(如果不是几百个)书面程序。感谢 zend 提示。但是这些功能可以让我进行屏幕抓取吗?我找不到任何例子。您知道使用这些功能进行屏幕抓取的任何指南吗?
  • @WarrenT - 如果我没记错的话,你不能调用带有显示文件的程序。当他们决定开始在他们的内部网(以及后来的网站)上构建 PHP 应用程序时,他们明白他们必须对一些现有的 RPG 程序进行更改(或编写新程序),但他们认为这对他们来说是一个更好的解决方案。在他们的情况下,我绝对同意。
  • @user7424 PHP Toolkit 不会进行屏幕抓取,它只是允许您编写 PHP 应用程序来代替 RPG(或 COBOL 或其他)程序。我谈到的客户有数千个程序 - 听起来他们比你更大,也许他们更容易编写新的 PHP 程序而不是屏幕抓取。如果你真的需要进行屏幕抓取,而你只是在做这个项目,我认为你最好的选择是购买一个预先打包的解决方案。如果这不是一个选择,我会接受巴克的建议。
  • 顺便说一下,当我们安装 Zend Server 时,有一个基于 Web 的 5250 模拟器 - 本质上是在浏览器中运行的绿屏。我似乎记得认为它很慢,但那是很多年前的事了,我希望他们现在能让事情变得更好。值得一试,特别是如果它可以让您不必学习 5250 协议并从头开始编写一堆东西。我也不确定与此相关的任何成本 - 我们只为“哦,那不是很酷!”启动了几次会话。因素。
【解决方案2】:

编写一个代理服务器,位于您的中端机器和 TN5250 客户端之间。它是常规的 TCP/IP 套接字。您需要了解 TN5250 的工作原理。

【讨论】:

  • 是否有详细的指南说明如何做到这一点?
  • 看看 PHProxy。 sourceforge 的 tn5250 project 也可能会有所帮助。
【解决方案3】:

考虑将您的 RPG 应用程序调整为 RPG/OA 应用程序,而不是屏幕抓取本身。这比用 PHP 替换所有东西要简单得多。大多数 RPG/OA 解决方案都带有价格标签,而且您确实要求提供免费的解决方案。因此,请查看OpenRPGUI,这是一个开源解决方案。阅读它here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-06-09
    • 2010-09-16
    • 2011-07-21
    • 2011-01-12
    • 2013-12-31
    • 2013-01-12
    • 2017-02-25
    • 2023-03-25
    相关资源
    最近更新 更多