How to save session_id as cookie value and send it to server in Android?

不打扰是莪最后的温柔 提交于 2019-12-02 04:02:46

Try this, When login Call this request.

DefaultHttpClient httpClient = new DefaultHttpClient();
        String paramString = URLEncodedUtils.format(params, "utf-8");
        url += "?" + paramString;
        HttpGet httpGet = new HttpGet(url);
        HttpResponse httpResponse = httpClient.execute(httpGet);

        List<Cookie> cookies = httpClient.getCookieStore().getCookies();
        for (Cookie cookie : cookies) {
            System.out.println("Cookie: " + cookie.toString());

            if (cookie.getName().contains("PHPSESSID"))
                guid = cookie.getValue();

        }

        HttpEntity httpEntity = httpResponse.getEntity();
        is = httpEntity.getContent();

You can try something like this:

public static void myMethod(Map<String, String> cookies) throws IOException, PortalException {

        HttpParams httpParams = new BasicHttpParams();

        HttpConnectionParams.setConnectionTimeout(httpParams, 60000);

        HttpConnectionParams.setSoTimeout(httpParams, 240000);

        try {

            DefaultHttpClient httpClient = new DefaultHttpClient(connectionManager, httpParams);

            if (cookies != null) {

                for (Map.Entry<String, String> entry : cookies.entrySet()) {

                    BasicClientCookie cookie = new BasicClientCookie(entry.getKey(), entry.getValue());

                    cookie.setPath("/");
                    cookie.setDomain(new URL(url).getHost());

                    httpClient.getCookieStore().addCookie(cookie);
                }
            }

            HttpRequestBase request = null;

            if (post) {

                request = post(url, params, headers);

            } else {

                request = get(url, params, headers);

            }

            BasicHttpContext context = new BasicHttpContext();

            HttpResponse response = httpClient.execute(request, context);

                    //... etc

It works for me.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!