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