2010-04-23 69 views
1

试图找出一种方法,我可以将一些数据/字段从网页传递回我的应用程序。这需要在Windows/Linux/Mac上运行,所以我不能使用DLL或ActiveX。有任何想法吗?如何将数据从网页传递到应用程序?

以下是流程: 1.应用程序收集一些数据,然后使用POST嵌入应用程序或弹出一个新的IE窗口将其发送到网页。 2.网页执行一些服务,然后需要将结果中继给应用程序。

做到这一点,我能想到的唯一方法是从页面本地从cookie中写入结果或类似的东西,并让应用程序监视器在该文件夹中的特定文件。

或者,在将控件传递给页面以及页面完成后,Web服务将返回数据,以制作应用程序点击的Web服务。这听起来像它可能有一些性能缺陷。

任何人都可以提出任何更好的解决方案吗?

感谢

回答

2

我的建议:

中断处理逻辑从网页到一个单独的组件。然后,您可以创建一个Web服务来处理所有处理,而无需将控制权交给页面。

然后,您的应用程序可以直接调用Web服务,然后序列化结果并很容易地处理数据。

更新

由于网页是由第三方提供的,你显然不能破坏任何东西了。接下来最好的办法是处理应用程序内部的整个Web请求(而不是弹出一个新窗口)。

使用此方法,您可以获取原始HTTP响应(和页面标记)并直接使用它。然后,您可以解析Response流并从中收集所需的数据。

+0

问题是,该网页是由托管第三方,他们需要在他们的服务器上进行处理。我无法在本地处理这些数据。 – markiyanm 2010-04-23 14:58:38

+0

贾斯汀 - 我喜欢你的方法更好:) – Sijin 2010-04-23 15:04:30

+0

问题是,正在处理的数据是信用卡信息,我试图卸载到第三方,因为这是他们做的,我想留在它之外。我目前通过使用Web服务来支持它,但是这使我保持信用卡规定的范围。如果我使用他们的页面,我可以避免这种情况。 – markiyanm 2010-04-23 15:07:14

0

执行HTTP请求期间,您应该能够检索页面返回的文本。例如,如果您的HTTP POST命中Java servlet,则doPost()方法将被触发,然后执行您的操作,然后可以使用Response对象中的PrintWriter对象(PrintWriter out = response.getWriter() ;)并将文本写回调用应用程序。我不确定这有帮助吗?

0

网页由第三方托管 ,他们需要在自己的服务器上做的 处理的事实。

对这个问题很重要。

我喜欢让应用程序在将数据传递到第三方网页后调用web服务的想法。如果您担心在等待此Web服务的结果时阻止应用程序,则可以始终异步调用Web服务。

0

另一种选择是,你的应用程序中使用PHPPython或任何你用它来构建网站

休息服务器XML-RPC server,可以从网页调用将做的工作还...

实现
0

也许iOpus产品iMacros可能是你正在寻找的。他们的产品iMacros在收集数据和发布数据方面非常出色。我已经将它用于条件数据挖掘,并且有很多示例可用于各种任务。

我会承认有一点学习曲线,但它在与URL,表单和其他软件的交互方面确实非常强大。

你可以看一些例子,看看它是否符合您的需求在这里: http://www.iopus.com/imacros/support/

还有一个免费的Firefox插件在这里: http://www.iopus.com/imacros/firefox/

相关问题