试图找出一种方法,我可以将一些数据/字段从网页传回我的应用程序。这需要在Windows / Linux / Mac上运行,所以我不能使用DLL或ActiveX。有什么想法吗?
这是流程: 1.应用程序收集一些数据,然后使用POST将其发送到网页,该应用程序嵌入应用程序或弹出新的IE窗口。 2.网页执行一些服务,然后需要将结果中继回应用程序。
我能想到的唯一方法就是在页面中用cookie或类似的东西在本地编写结果,并让应用程序监视该文件夹中的特定文件。
或者,在将控制权传递给页面后创建应用程序命中的Web服务,并且当页面完成时,Web服务将返回数据。这听起来似乎有一些性能上的缺点。
有人可以为此提出更好的解决方案吗?
由于
答案 0 :(得分:2)
我的建议:
将处理逻辑从Web页面拆分为单独的程序集。然后,您可以创建一个Web服务来处理所有处理,而无需将控制权传递给页面。
然后,您的应用程序可以直接调用Web服务,然后序列化结果并轻松处理数据。
<强>更新强>
由于该页面是由第三方提供的,因此您显然无法解决任何问题。接下来最好的办法是处理应用程序内部的整个Web请求(而不是弹出一个新窗口)。
使用此方法,您可以获取原始HTTP响应(和页面标记)并直接使用它。然后,您可以解析响应流并从中收集所需的数据。
答案 1 :(得分:0)
在执行HTTP请求期间,您应该能够检索页面返回的文本。例如,如果您的HTTP POST是命中Java servlet,则会触发doPost()方法然后执行您的操作,然后您可以使用Response对象中的PrintWriter对象(PrintWriter out = response.getWriter() ;)并将文本写回调用应用程序。我不确定这会有帮助吗?
答案 2 :(得分:0)
事实
网页由第三方托管 他们需要做的 在他们的服务器上处理。
对这个问题很重要。
我喜欢你的应用程序在将数据传递到第三方网页后调用web服务的想法。如果您担心在等待来自此Web服务的结果时阻止您的应用程序,则可以始终异步调用Web服务。
答案 3 :(得分:0)
另一个选择是您的应用程序实现XML-RPC server,可以使用PHP,Python或您用来构建网站的任何内容从网页调用
REST服务器也可以完成这项工作......
答案 4 :(得分:0)
也许iOpus产品iMacros可能就是您所需要的。他们的产品iMacros非常擅长收集数据和发布数据。我已将它用于条件数据挖掘,并且有大量示例可用于各种任务。
我承认有一点学习曲线,但它与URL,表格和其他软件的交互方式确实非常强大。
您可以查看一些示例,看看它是否满足您的需求: http://www.iopus.com/imacros/support/
这里还有一个免费的Firefox加载项: http://www.iopus.com/imacros/firefox/