相关疑难解决方法(0)

重用HttpURLConnection以使会话保持活动状态

我们有一个Android应用程序,要求用户输入Captcha的答案.Captcha是在我们的服务器上生成的.回复时,会将其发送到服务器进行验证.

问题是,因为我必须在请求Captcha之后关闭HttpURLConnection,然后发现回复正在服务器上的另一个会话上运行.因此,Captcha检查失败,因为它取决于会话.

有没有办法保持连接活着或者我应该遵循不同的路径?我知道在相应的iPhone应用程序中,它们保持"连接",因此具有相同的sessionid.

编辑:

    CookieManager cookieManager = new CookieManager();  
    CookieHandler.setDefault(cookieManager);

    URL urlObj = new URL(urlPath);
    conn = (HttpURLConnection) urlObj.openConnection();

    if (urlPath.toLowerCase().startsWith("https:")) {
        initializeHttpsConnection((HttpsURLConnection) conn);
    }
    conn.setRequestMethod("POST");
    conn.setRequestProperty("Content-Language", "en-US");
    conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
    conn.setRequestProperty("Content-Length", Integer.toString(bodyData.length));
    if (_sessionIdCookie != null) {
        conn.setRequestProperty("Cookie", _sessionIdCookie);
    }
    // Connect
    conn.setDoInput(true);
    conn.setDoOutput(true);
    conn.connect();
Run Code Online (Sandbox Code Playgroud)

android sessionid httpurlconnection

12
推荐指数
2
解决办法
2万
查看次数

标签 统计

android ×1

httpurlconnection ×1

sessionid ×1