我似乎无法弄清楚这一点,我试着用谷歌搜索我的手指现在受伤了。
我正在向启用了 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 Emulator 可以连接到 Internet。感觉就像没有传递参数或者没有在网页上触发重定向。
注意:我注意到通过 Android 模拟器进行身份验证时会立即失败,iOS 在 1-2 秒后返回 true 或 false。