2

我们希望通过检查是否可以通过 shell 脚本登录到应用程序来定期监视 GWT Web 应用程序。

有没有办法使用 wget 将带有 JSON 数据的 http post 请求发送到 GWT servlet?

4

2 回答 2

2

我曾尝试使用 Apache JMeter 调用 GWT webapp(所以我认为 wget 将能够做同样的事情EDIT. curl 而不是 wget,感谢@Chris Lercher,请参阅他的评论)。假设您的应用程序使用 GWT-RPC 调用服务器端,您不能使用 JSON。首先,您需要将 JSON 转换为GWT-RPC 专有格式。最简单的方法是从实际应用程序中捕获必要的请求。您可以使用 Chrome 开发者工具捕获它(打开您的应用程序,打开在开发者工具的网络选项卡上保留日志,然后强制您的应用程序触发请求并分析请求有效负载)。它可能看起来像这样:

7|0|4|http://yourapp/|024F843AF926C69027FD016F55BAC7DF|com.mycompany.RPCProductService|getProducts|1|2|3|4|0|

然后你可以尝试调用你的应用程序。

在部署新版本的应用程序之后,此请求将失败(即使相应的端点保持不变)。每个请求中都包含某种安全签名,并且会自动更改。

希望这可以帮助。

于 2013-08-22T14:42:37.273 回答
1

它使用提示使用 curl 和 maksym 描述的方式对我有用:

curl -i -X POST <REQUEST URL> -H "<ALL HEADERS FROM CATCHED REQUEST>" -d @<FILENAME>

其中 FILENAME 是包含来自捕获的请求的发布数据的文件的名称

于 2013-08-22T16:04:43.640 回答