2

私はこれを理解できないようで、指が痛いとググってみました。

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 を返す場合、すぐに失敗することに気付きます。

4

1 に答える 1