我似乎无法弄清楚这一点,我试过用Google搜索,我的手指现在受伤了。Appcelerator HTTPClient请求不与服务器进行身份验证
我对启用了SSL的Domino服务器执行HTTPClient请求。我的请求在iOS上进行测试时效果很好,但每次在通过Android模拟器和移动Web进行测试时都失败。
我正在运行Android 2.2 SDK。
当我尝试从应用程序登录时,我肯定会到达服务器,因为HTML被返回(登录Web窗体)。当返回HTML时,它或者意味着认证失败,或者重定向不起作用。通过iOS登录时,该页面会重定向100%。
下面是我的代码:
var orderReq = Titanium.Network.createHTTPClient();
var myurl = 'https://domain/db.nsf?login';
orderReq.setEnableKeepAlive;
orderReq.open('POST',myurl, false);
var params = {
username: "Joe Smith",
password: "Password",
redirectto: "path/db.nsf/response.xsp"
};
orderReq.send(params);
var myreturn = orderReq.responseText;
if((myreturn.charAt(0) === '<') || (myreturn === ""))
{
Ti.API.info('Fail');
return 'Fail';
}
else
{
Ti.API.info('Pass');
var json = orderReq.responseText;
var response = eval('(' + json + ')');
return response.username;
}
我已经尝试了许多特性,无济于事。我可以确认Android模拟器可以连接到互联网。感觉就像参数没有被传递或重定向没有在网页上被触发。
注意:我注意到,通过Android模拟器进行身份验证时,它立即失败,其中iOS在1-2秒后返回true或false。