1
向Yodlees Fastlink API发出请求,特别是向Fastlink Sandbox Environment发出请求。有问题的端点是:HTTP请求在web上运行,但在移动设备上失败? (Yodlee API)
https://node.developer.yodlee.com/authenticate/restserver/
我们通过适当的PARAMS:
rsession:XXXXXXXXXXXXX
app:10003600
redirectReq:true
token:XXXXXXXXXXXXX
extraParams:
而且收到以下成功的HTML响应:
<!DOCTYPE html>
<html>
<head>
<title>Fast Link</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1, user-scalable=0">
<link rel="stylesheet" type="text/css" href="/v5/combo?/brands/default/css/scss/loader.css">
</head>
<body>
<form action="/finapp/10003600/?brand=XXXXXXXX&id=10003600&appId=XXXXXXXX&channelId=-1&version=1010.45&status=published&c=csit_key_0:XXXXXX=&finappCDNURL=&resturl=httpsXX.XX.XX.XX%2Fservices%2Fsrest%2Frestserver&l=" method="post" id='form'>
<input type='hidden' name ='rdata' value ='XXXXXX' />
<input type='hidden' name ='capp' value ='restserver' />
<input type='hidden' name ='userId' value ='XXXXXXXXX' />
<input type='hidden' name ='firmId' value ='' />
</form>
<div class="inline-spinner"></div>
<script>
function getCookie(k){var v=document.cookie.match('(^|;) ?'+k+'=([^;]*)(;|$)');return v?v[2]:false};
var error = false;
var isCookieSupported = getCookie('isCookie');
var whichBrowser = "CHROME";
if (typeof isCookieSupported != 'undefined' && !isCookieSupported){
try{
sessionStorage.setItem("rdata", "XXXXXXXX");
sessionStorage.setItem('prefs', '{"currencyCode":"USD","dateFormat":"MM/dd/yyyy","timeZone":"PST","decimalSeparator":".","groupingSeparator":",","groupPattern":"###,##0.##","groupSize":0,"currencyNotation":"SYMBOL","locale":"en_US","segmentId":"-1"}');
}
catch(e){
var isOLB = ""
var ssoDomain = ""
var postSource = ""
var query = 'brand=' + XXXXXXX +'&app='+ 10003600 + '&appId=' + 'XXXXXX' + '&cookieDisabled=true'
+ '&version=' + '1010.45' +'&status=' + 'published';
if (isOLB !=""){
query= query + '&isOLB=true';
}
if (ssoDomain !=""){
query= query + '&ssoDomain=' + ssoDomain;
}
if (postSource !=""){
query= query + '&postSource=' + postSource;
}
window.location.href='/apperror/?' + query;
var error = true;
}
}
//sessionStorage.setItem("capp", "restserver");
if (!error){
document.getElementById("form").submit();
}
</script>
</body>
</html>
然而,当我们做完全相同的请求从Android应用REST客户端,它超时。桌面客户端的响应时间少于500毫秒。
这两个平台之间发生了什么不同?
如何在HTTP会话样子正是在这两种情况下?也许有一些差异。它也可能是你的Android设备和目标服务器(路由器/ corpoproxy /防火墙)之间的东西。你是否测试完全相同的网络配置? – jannis