1

私はネイティブ ios アプリケーション用のサーブレットを開発しています. 今、いくつかのものをセッションに配置して、後で取得できるようにしました.PC ブラウザでサイトを実行する限り、これは完全に機能していますが、私の懸念はPCブラウザは常にバックグラウンドですべてのリクエストにセッションIDを渡して(ヘッダーと特殊キーを使用して)応答を満たします.iosネイティブアプリでそれを実現する方法は、セッションが作成されたときに最初にsessionIdを送信することを意味しますアプリは、ios 開発者に、リクエストの送信中にそのキー (sessionId)を送信し、サーバーでそのsessionIdに関連付けられた正確なデータを取得するように指示します。

それで、それを達成することは可能ですか、それともサーバーコードを変更する必要がありますか(これはまったく必要ありません.. ;( )......

それにいくつかの光を当ててください....ありがとう...事前に....Ankur

4

3 に答える 3

1

ASIHttpRequestが自動的に管理します。これを見て、

[リクエストsetUseSessionPersistence:YES];

このリンク

于 2012-08-13T10:39:09.730 に答える
1

HTTP Cookie でそれができることは知っています。つまり、サーバー側に Cookie を保存し、ASIHTTP/AFNetworking フレームワークを使用して取得します。

参考までに- Cookie を使用した Objective-C の非同期 Web リクエスト

参考までに - http://brainwashinc.wordpress.com/2009/12/16/http-cookie-support-iphone/

httpsession id については、javascript で取得できます。次のコードを使用します。

以下を session.js として保存し、iOS アプリ内のアセットに追加します。

<script type = "text/javascript">
function GetSession()

{
var SessionID = "<%=Session.SessionID%>";

alert(SessionID);
return SessionID;
}

</script>

リソースから js をロードするため - リソースから UIWebView に javascript をロードする

必要に応じて、javascript を webview にロードし、サーバーへの別のリクエストにパラメータとして送信できます。

これはあなたの問題に対する1つの可能な解決策だと思います。キープアライブ接続がない限り、HTTPSession でそれを行う方法があるかどうかはわかりません。

于 2012-08-13T05:35:12.137 に答える
1

を使用していると仮定すると、iOS アプリケーションは自動的に Cookie を処理しますNSURLConnection。それを処理するための特別なコードは必要ありません。

于 2012-08-13T05:50:11.227 に答える