【问题标题】:Session manipulation in native ios application本机 ios 应用程序中的会话操作
【发布时间】:2012-08-13 05:19:17
【问题描述】:

我正在为 本机 ios 应用程序开发 servlet.. 现在我将一些东西放在会话中以便稍后检索,只要我们在 pc 浏览器中运行该站点,这个东西现在工作得很好,但我担心的是,由于 pc 浏览器总是在每个在后台请求来完成响应(使用标头和特殊键),如何在 ios 本机应用程序中实现,我的意思是我将在为应用程序创建会话时发送 sessionId 并告诉ios 开发人员在发送请求时发送该 key(sessionId),并在服务器中获取与该 sessionId 关联的确切数据。

那么是否有可能实现这一点,或者我必须更改服务器代码(我根本不想要.. ;( )......

请对此有所了解......谢谢......提前......Ankur

【问题讨论】:

    标签: java ios session servlets


    【解决方案1】:

    ASIHttpRequest 会自动为您管理它。看到这个,

    [请求 setUseSessionPersistence:YES];

    this link

    【讨论】:

    【解决方案2】:

    我知道您可以使用 HTTP Cookie 来做到这一点。即在服务器端存储一个 cookie 并使用 ASIHTTP/AFNetworking 框架检索它,

    仅供参考 - Objective-C Asynchronous Web Request with Cookies

    仅供参考 - 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 - Loading javascript into a UIWebView from resources

    如果需要,您可以在 webview 中加载 javascript 并将其作为参数发送到另一个请求到您的服务器。

    我认为这是解决您的问题的一种可能方法。除非有保持活动连接,否则我不知道是否有任何 HTTPSession 方法。

    【讨论】:

      【解决方案3】:

      iOS 应用程序应该自动处理您的 cookie,假设它使用 NSURLConnection。它不需要任何特殊的代码来处理它。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-03-30
        • 1970-01-01
        • 2012-01-02
        • 1970-01-01
        相关资源
        最近更新 更多