私はこれを理解できないようで、指が痛いとググってみました。
SSL が有効になっている Domino Server に対して 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 がインターネットに接続できることを確認できました。パラメータが渡されていないか、Web ページでリダイレクトがトリガーされていないように感じます。
注: Android エミュレーターを介して認証すると、iOS が 1 ~ 2 秒後に true または false を返す場合、すぐに失敗することに気付きます。