我有一个 PHP 页面,它通过 GET 获取一个变量,然后根据该变量从数据库中提取一些信息。一旦完成服务器端的工作,就会有一些 javascript 运行并获取提供的数据,并使用 3rd 方 API 创建一个 .png 图像,然后使用对另一个 PHP 页面的 AJAX POST 调用将该图像保存到我的服务器。
这一切都很好,但我现在想做的是自动执行对该 PHP 页面的一些调用。也就是说,假设我有 100 个这样的变量要通过,我想,最好是在 Java 中使用 for 循环,依次调用带有每个变量的 PHP 页面。
问题是客户端的javascript。它不会URLConnection
在 Java 中以简单的方式执行。似乎我需要某种浏览器复制器或某种方式让 java 像在浏览器中调用 PHP 一样?
或者,我可以用第三个 PHP 页面代替 Java 作为控制器,但我面临着让 javascript 执行的同样问题。
我错过了一些简单的事情吗?这个设置是不可能的吗?如果可能的话,我真的更喜欢用 Java 将它折叠到我已经运行的其他代码中。
让我尝试添加更多细节,而不会过多地陷入困境。有一个 PHP 文件getData.php
通过 GET 获取 ID 号。所以我称之为./getData.php?id=someId
该 PHP 文件获取 ID,转到我的数据库并检索一些数据并将其粘贴到 HTML 源中。然后,一旦页面完成,我在其中有一些 javascriptgetData.php
来检索该数据,将其格式化为 DataTable 并将其传递给 Google Visualization API 以制作 SVG 图表。
然后我有更多运行的 JS 获取该 SVG 对象,将其转换为 Canvas 对象,从中获取 base64 图像数据,最后使用以下数组发布到 saveTo.php:
{'id' : id, 'data' : imgData}
saveTo.php
只需接收该 POST 数据,根据 id 在我的服务器上创建一个文件并将 imgData 粘贴到其中。最终结果是我可以将一个 ID 传递给getData.php
并最终得到一个可视化图表的保存图像,我希望根据与该 ID 相关联的数据库中的数据制作该图表。
这一切都是手工工作的。但是我有大约 1,000 个这些 ID,我想拥有它,以便每天早上运行整个过程,以便我可以根据昨天的数据更新图像。
我应该提到我确实尝试使用 3rd 方工具包 HtmlUnit ( http://htmlunit.sourceforge.net/ ) 但只是不断收到这些错误:
com.gargoylesoftware.htmlunit.IncorrectnessListenerImpl notify
WARNING: Obsolete content type encountered: 'text/javascript'.