2017-06-28 181 views
0

我正在測試Yodlee。我可以通過在Chrome瀏覽器中發佈FORM元素來使FastLink工作。我相信在POST之後會發生某種類型的重定向,它會告訴Chrome瀏覽器轉到另一個URL地址並加載該頁面。我想用Java代碼執行POST並捕獲重定向URL。如何使用Java HTTP請求代碼獲取Yodlee FastLink URL?

我試着用下面的RestTemplate代碼,但請求掛起,連接最終被終止。

MultiValueMap<String, String> map = new LinkedMultiValueMap<String, String>(); 
map.add("rsession", getUserAuthToken()); 
map.add("token", fastLinkAccess.getAccessToken()); 
map.add("app", "10003600"); 
map.add("redirectReq", "true"); 

URI uri = template.postForLocation("https://node.developer.yodlee.com/authenticate/restserver/", map, String.class); 

我該怎麼辦?

回答

0

只有將HTML內容發佈到動作(節點)URL才能啓動Fastlink。

當你使用的是Java,可以使用下面的示例代碼來發布HTML中使用Java的

String formHtmlContent = "<div class='center processText'>Processing...</div>" 
    + "<div>" 
    + "<form action='${NODE_URL}' method='post' id='rsessionPost'>" 
    + " RSession : <input type='text' name='rsession' placeholder='rsession' value='${RSESSION}' id='rsession'/><br/>" 
    + " FinappId : <input type='text' name='app' placeholder='FinappId' value='${FINAPP_ID}' id='finappId'/><br/>" 
    + " Redirect : <input type='text' name='redirectReq' placeholder='true/false' value='true'/><br/>" 
    + " Token : <input type='text' name='token' placeholder='token' value='${TOKEN}' id='token'/><br/>" 
    + " Extra Params : <input type='text' name='extraParams' placeholder='Extra Params' value='${EXTRA_PARAMS}' id='extraParams'/><br/>" 
    + "</form></div><script>document.getElementById('rsessionPost').submit();</script>";