2013-08-22 96 views
2

我們希望通過檢查是否可以通過shell腳本登錄到應用程序來定期監視GWT Web應用程序。用wget調用GWT servlet

有沒有辦法發送帶有JSON數據的http post請求到wget的GWT servlet?

+1

你可能更喜歡使用curl而不是wget,參見例如http://stackoverflow.com/questions/17050628/send-post-request-wget –

回答

2

我試圖用Apache JMeter調用GWT webapp(所以我認爲wget將能夠做同樣的事情EDIT。 curl而不是wget,這要感謝@Chris Lercher,請參閱他的評論)。假定您的應用程序使用GWT-RPC來調用服務器端,則不能使用JSON。首先你需要將JSON轉換爲GWT-RPC proprietary format。最簡單的方法是從實際應用程序中獲取必要的請求。您可以使用Chrome開發人員工具(打開您的應用程序,打開保存開發人員工具的網絡選項卡上的日誌,然後強制您的應用程序觸發請求並分析請求有效內容)來捕獲它。它可能看起來像這樣:

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

然後你可以嘗試打電話給你的應用程序。

在部署應用程序的新版本(即使對應端點保持不變)後,此請求將失敗。每個請求中都包含某種安全簽名,並且會自動更改。

希望這會有所幫助。

1

它爲我使用提示使用捲曲和馬克西姆的方式描述:

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

其中FileName是從逮住請求包含POST數據文件的名稱

+0

很高興知道它的工作! –