Example usage for org.apache.http.client CookieStore addCookie

List of usage examples for org.apache.http.client CookieStore addCookie

Introduction

In this page you can find the example usage for org.apache.http.client CookieStore addCookie.

Prototype

void addCookie(Cookie cookie);

Source Link

Document

Adds an Cookie , replacing any existing equivalent cookies.

Usage

From source file:ca.nehil.rter.streamingapp.StreamingActivity.java

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_streaming);

    poilist = new ArrayList<POI>();

    /* Retrieve server URL from stored app values */
    storedValues = getSharedPreferences(getString(R.string.sharedPreferences_filename), MODE_PRIVATE);
    server_url = storedValues.getString("server_url", "not-set");

    /* Orientation listenever implementation to orient video */
    myOrientationEventListener = new OrientationEventListener(this, SensorManager.SENSOR_DELAY_NORMAL) {
        @Override/*www. j a v a2 s.  c  o  m*/
        public void onOrientationChanged(int orientation) {
            int rotation = getWindowManager().getDefaultDisplay().getRotation();
            if (rotation == Surface.ROTATION_270) {
                flipVideo = true;
            } else {
                flipVideo = false;
            }
        }
    };
    myOrientationEventListener.enable();

    /* Retrieve user auth data from cookie */
    cookies = getSharedPreferences("RterUserCreds", MODE_PRIVATE);
    cookieEditor = cookies.edit();
    setUsername = cookies.getString("Username", "not-set");
    setRterCredentials = cookies.getString("RterCreds", "not-set");
    if (setRterCredentials.equalsIgnoreCase("not-set") || setRterCredentials == null) {
        Log.e("PREFS", "Login Not successful, please restart");
    }
    Log.d("PREFS", "Prefs ==> rter_Creds:" + setRterCredentials);

    URL serverURL = null;
    try {
        serverURL = new URL(server_url);
        CookieStore myCookieStore = new BasicCookieStore();
        client.setCookieStore(myCookieStore);
        String[] credentials = setRterCredentials.split("=", 2);
        BasicClientCookie newCookie = new BasicClientCookie(credentials[0], credentials[1]);
        newCookie.setDomain(serverURL.getHost());
        newCookie.setPath("/");
        myCookieStore.addCookie(newCookie);
        mSensorSource = SensorSource.getInstance(this, GET_LOCATION_FROM_SERVER, serverURL, setRterCredentials,
                setUsername);
        POIs = new POIList(this, serverURL, setRterCredentials, mSensorSource);
    } catch (MalformedURLException e) {
        e.printStackTrace();
    }

    overlay = new OverlayController(this, POIs, mSensorSource); // OpenGL overlay 

    /* Get location */

    Location location = mSensorSource.getLocation();
    if (location != null) {
        lati = (float) (location.getLatitude());
        longi = (float) (location.getLongitude());
    } else {
        Toast toast = Toast.makeText(this, "Location not available", Toast.LENGTH_LONG);
        toast.setGravity(Gravity.TOP, 0, 0);
        toast.show();
        lati = (float) (45.505958f); // Hard coded location for testing purposes.
        longi = (float) (-73.576254f);
    }

    PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
    mWakeLock = pm.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK, CLASS_LABEL);
    mWakeLock.acquire();

    /* Test, set desired orienation to north */
    overlay.setDesiredOrientation(0.0f);
}

From source file:com.naryx.tagfusion.cfm.http.cfHttpConnection.java

private void addCookies() {

    Map<String, List<String>> cookies = httpData.getCookies();
    Iterator<String> keys = cookies.keySet().iterator();
    String domain = "";
    domain = message.getURI().getHost();
    CookieStore cookieStore = new BasicCookieStore();

    HttpContext localContext = new BasicHttpContext();

    // Bind custom cookie store to the local context
    localContext.setAttribute(ClientContext.COOKIE_STORE, cookieStore);
    client.getParams().setParameter(ClientPNames.COOKIE_POLICY, CookiePolicy.BROWSER_COMPATIBILITY);

    while (keys.hasNext()) {
        String nextKey = keys.next();
        List<String> values = cookies.get(nextKey);
        Date date = new Date(2038, 1, 1);
        for (int i = 0; i < values.size(); i++) {
            BasicClientCookie cookie = new BasicClientCookie(nextKey, values.get(i));
            cookieStore.addCookie(cookie);
            cookie.setVersion(1);/*  w  w w  .  java  2 s  .  c  o  m*/
            cookie.setDomain(domain);
            cookie.setPath("/");
            cookie.setExpiryDate(date);
            cookie.setSecure(false);
        }
    }
    client.setCookieStore(cookieStore);
}

From source file:com.akop.bach.parser.Parser.java

@SuppressWarnings("unchecked")
protected boolean loadSession(BasicAccount account) {
    ObjectInputStream objStream = null;
    final List<Cookie> serializableCookies;

    CookieStore store = mHttpClient.getCookieStore();
    store.clear();/*from   w ww  . j  av  a  2s.  co  m*/

    if (account == null)
        return false;

    String filename = getSessionFile(account);
    if (filename == null)
        return false;

    File f = new File(mContext.getFilesDir(), filename);
    boolean fileExists = f.exists();

    if (!fileExists)
        return false;

    // Don't care about errors - authentication can always be re-done

    try {
        objStream = new ObjectInputStream(mContext.openFileInput(filename));
        serializableCookies = (ArrayList<Cookie>) objStream.readObject();
    } catch (StreamCorruptedException e) {
        return false;
    } catch (IOException e) {
        return false;
    } catch (ClassNotFoundException e) {
        return false;
    } catch (OutOfMemoryError e) {
        return false;
    } finally {
        if (objStream != null) {
            try {
                objStream.close();
            } catch (IOException e) {
                // Don't care
            }
        }
    }

    try {
        for (Cookie cookie : serializableCookies)
            store.addCookie(cookie);
    } catch (Exception ex) {
        deleteSession(account);
        return false;
    }

    return true;
}

From source file:com.akop.bach.parser.PsnUsParser.java

@Override
protected boolean onAuthenticate(BasicAccount account) throws IOException, ParserException {
    PsnAccount psnAccount = (PsnAccount) account;

    String password = psnAccount.getPassword();
    if (password == null)
        throw new ParserException(mContext.getString(R.string.decryption_error));

    HttpParams params = mHttpClient.getParams();

    // Prepare POSTDATA
    List<NameValuePair> inputs = new ArrayList<NameValuePair>(3);

    addValue(inputs, "j_username", psnAccount.getEmailAddress());
    addValue(inputs, "j_password", password);
    addValue(inputs, "returnURL", URL_RETURN_LOGIN);

    // Enable redirection (max 1)
    params.setParameter("http.protocol.max-redirects", 2);

    CookieStore store = mHttpClient.getCookieStore();
    BasicClientCookie cookie = new BasicClientCookie("APPLICATION_SITE_URL", "http://us.playstation.com/");
    cookie.setDomain(".playstation.com");
    cookie.setPath("/");
    store.addCookie(cookie);

    // Post authentication data
    String page = getResponse(URL_LOGIN, inputs);

    // Disable redirection
    params.setParameter("http.protocol.max-redirects", 1);

    // Get redirection URL
    Matcher m = PATTERN_LOGIN_REDIR_URL.matcher(page);

    if (!m.find()) {
        if (App.getConfig().logToConsole())
            App.logv("onAuthUS: Redir URL not found");

        String outageMessage;/*ww w  .j a va  2  s.c  o m*/
        if ((outageMessage = getOutageMessage(page)) != null)
            throw new ParserException(outageMessage);

        return false;
    }

    // 2. Post to redirection URL

    try {
        getResponse(m.group(1));
    } catch (ClientProtocolException e) {
        // Ignore redirection error
    }

    return true;
}

From source file:org.sonatype.nexus.testsuite.security.SimpleSessionCookieIT.java

/**
 * Validate Nexus Cookies during Sign-in and Sign-out
 *//*from   w w  w  .j  a v a  2  s .  co m*/
private void exerciseCookieSpec(final URL baseUrl) throws Exception {

    // handle cookies like a browser to aid validation
    final CookieSpec spec = new DefaultCookieSpecProvider().create(null);
    final CookieOrigin cookieOrigin = cookieOrigin(baseUrl);
    final CookieStore cookieStore = new BasicCookieStore();
    final CredentialsProvider credProvider = credentialsProvider();
    SetCookie loginCookie;

    try (CloseableHttpClient client = clientBuilder().setDefaultCookieStore(cookieStore)
            .setDefaultCredentialsProvider(credProvider).build()) {

        // 1. login with credentials and get session cookie
        // Set-Cookie: NXSESSIONID=98a766bc-bc33-4b3c-9d9f-d3bb85b0cf00; Path=/; Secure; HttpOnly

        HttpPost loginRequest = new HttpPost(resolveUrl(baseUrl, SESSION_PATH).toURI());
        List<NameValuePair> params = new ArrayList<>();
        params.add(new BasicNameValuePair("username",
                Strings2.encodeBase64(credentials().getUserPrincipal().getName())));
        params.add(new BasicNameValuePair("password", Strings2.encodeBase64(credentials().getPassword())));
        loginRequest.setEntity(new UrlEncodedFormEntity(params));
        withCommonBrowserHeaders(loginRequest);

        try (CloseableHttpResponse response = client.execute(loginRequest, clientContext())) {
            assertThat(response.getStatusLine().getStatusCode(), is(200));
            assertThat("login cookie should have been stored in the cookie store", cookieStore.getCookies(),
                    hasSize(1));
            assertThat("expected session cookie in cookie store", getSessionCookie(cookieStore),
                    notNullValue());

            Header[] setCookieHeaders = response.getHeaders(SET_COOKIE);
            Header sessionCookieHeader = getSessionCookieHeader(setCookieHeaders);

            List<Cookie> sessionCookies = spec.parse(sessionCookieHeader, cookieOrigin);
            loginCookie = (SetCookie) sessionCookies.get(0);
            String headerText = sessionCookieHeader.toString();

            assertCommonSessionCookieAttributes(baseUrl, loginCookie, headerText);
            assertThat(String.format("expecting one cookie parsed from session %s header", SET_COOKIE),
                    sessionCookies, hasSize(1));

            assertThat(String.format(
                    "expecting 2 %s headers for login, one session cookie, one remember me, but got %s",
                    SET_COOKIE, setCookieHeaders), setCookieHeaders, arrayWithSize(2));

            assertThat("login cookie should NOT look like deleteMe cookie", loginCookie.getValue(),
                    not(containsString("deleteMe")));
            assertThat(
                    "login cookie should not have an expiry date - the UA deletes the session cookie when "
                            + "replaced by a new one by same name from the server OR when the UA decides",
                    loginCookie.isPersistent(), is(false));

            assertThat("login session cookie with valid session id should always be marked HttpOnly",
                    headerText, containsString("; HttpOnly"));
        }

        HttpClientContext logoutContext = HttpClientContext.create();
        logoutContext.setCookieStore(cookieStore);

        HttpDelete logoutRequest = new HttpDelete(resolveUrl(baseUrl, SESSION_PATH).toURI());
        withCommonBrowserHeaders(logoutRequest);

        // 2. Logout, sending valid session cookie, no credentials
        // Set-Cookie: NXSESSIONID=deleteMe; Path=/; Max-Age=0; Expires=Sun, 28-Dec-2014 15:59:11 GMT
        try (CloseableHttpResponse response = client.execute(logoutRequest, logoutContext)) {
            assertThat(response.getStatusLine().getStatusCode(), is(200));

            // can't use client CookieStore to examine logout cookie, because the Expires header will prevent it from being
            // added but we can implicitly confirm it expired the existing cookie according to our client
            assertThat("logout cookie should have emptied the cookie store due to expiry date",
                    cookieStore.getCookies(), hasSize(0));

            Header[] setCookieHeaders = response.getHeaders(SET_COOKIE);
            Header sessionCookieHeader = getSessionCookieHeader(setCookieHeaders);
            List<Cookie> sessionCookies = spec.parse(sessionCookieHeader, cookieOrigin);
            SetCookie logoutCookie = (SetCookie) sessionCookies.get(0);
            final String headerText = sessionCookieHeader.toString();

            assertCommonSessionCookieAttributes(baseUrl, logoutCookie, headerText);
            assertThat("expecting one cookie in same Set-Cookie header", sessionCookies, hasSize(1));
            assertThat(String.format(
                    "expecting 2 %s headers for logout, one session cookie delete cookie, one remember me delete cookie, but got %s",
                    SET_COOKIE, setCookieHeaders), setCookieHeaders, arrayWithSize(2));
            assertThat("logout session cookie value should be dummy value", logoutCookie.getValue(),
                    equalTo("deleteMe"));
            assertThat("logout session cookie should be expired to tell browser to delete it",
                    logoutCookie.isExpired(new Date()), is(true));
            assertThat(
                    "technically the presence of an expiry date means the cookie is persistent, but expiry will override",
                    logoutCookie.isPersistent(), is(true));
            assertThat(
                    "logout cookie does not have a real session id value, therefore it does not need to be HttpOnly",
                    headerText, not(containsString("; HttpOnly")));
        }

        // 3. Access a protected resource again using our original login cookie, no credentials, to verify session is dead
        HttpGet loginFailedGet = new HttpGet(resolveUrl(baseUrl, PROTECTED_PATH).toURI());
        cookieStore.addCookie(loginCookie);

        try (CloseableHttpResponse response = client.execute(loginFailedGet, HttpClientContext.create())) {
            assertThat("expected dead login session cookie to not authenticate",
                    response.getStatusLine().getStatusCode(), is(401));
            Header[] setCookieHeaders = response.getHeaders(SET_COOKIE);
            assertThat("expecting no session cookie since login was unsuccessful",
                    getSessionCookieHeader(setCookieHeaders), nullValue());
            assertThat("expecting no cookies since login was unsuccessful", setCookieHeaders, arrayWithSize(0));
        }
    }
}

From source file:org.apache.http.client.protocol.ResponseProcessCookies.java

private void processCookies(final HeaderIterator iterator, final CookieSpec cookieSpec,
        final CookieOrigin cookieOrigin, final CookieStore cookieStore) {
    while (iterator.hasNext()) {
        final Header header = iterator.nextHeader();
        try {// ww w  .  ja v  a  2s .c o  m
            final List<Cookie> cookies = cookieSpec.parse(header, cookieOrigin);
            for (final Cookie cookie : cookies) {
                try {
                    cookieSpec.validate(cookie, cookieOrigin);
                    cookieStore.addCookie(cookie);

                    if (this.log.isDebugEnabled()) {
                        this.log.debug("Cookie accepted [" + formatCooke(cookie) + "]");
                    }
                } catch (final MalformedCookieException ex) {
                    if (this.log.isWarnEnabled()) {
                        this.log.warn("Cookie rejected [" + formatCooke(cookie) + "] " + ex.getMessage());
                    }
                }
            }
        } catch (final MalformedCookieException ex) {
            if (this.log.isWarnEnabled()) {
                this.log.warn("Invalid cookie header: \"" + header + "\". " + ex.getMessage());
            }
        }
    }
}

From source file:org.debux.webmotion.test.ActionMiscIT.java

@Test
public void cookieManagerRead() throws IOException, URISyntaxException {
    URI uri = createRequest("/cookie/read").addParameter("secured", "false").build();

    HttpGet request = new HttpGet(uri);

    DefaultHttpClient client = new DefaultHttpClient();
    CookieStore cookieStore = new BasicCookieStore();
    client.setCookieStore(cookieStore);//w  w  w  . jav a  2s .c om

    BasicClientCookie initialCookie = new BasicClientCookie("name", "test");
    initialCookie.setVersion(1);
    initialCookie.setDomain("localhost");
    initialCookie.setPath("/webmotion-test/test/cookie");
    cookieStore.addCookie(initialCookie);

    HttpResponse response = client.execute(request);

    HttpEntity entity = response.getEntity();
    InputStream content = entity.getContent();
    String result = IOUtils.toString(content);
    AssertJUnit.assertTrue(result, result.contains("Value = test"));
}

From source file:org.debux.webmotion.test.ActionMiscIT.java

@Test
public void cookieManagerObjectRemove() throws IOException, URISyntaxException {
    URI uri = createRequest("/cookie/object/remove").build();

    HttpGet request = new HttpGet(uri);

    DefaultHttpClient client = new DefaultHttpClient();
    CookieStore cookieStore = new BasicCookieStore();
    client.setCookieStore(cookieStore);//from  ww w .j  a  v  a  2  s  .c om

    BasicClientCookie initialCookie = new BasicClientCookie("user_cookie", "{}");
    initialCookie.setVersion(1);
    initialCookie.setDomain("localhost");
    initialCookie.setPath("/webmotion-test/test/cookie/object");
    cookieStore.addCookie(initialCookie);

    client.execute(request);

    List<Cookie> cookies = cookieStore.getCookies();
    for (Cookie cookie : cookies) {
        String name = cookie.getName();
        if ("user_cookie".equals(name)) {
            throw new RuntimeException("Invalid cookie");
        }
    }
}

From source file:org.debux.webmotion.test.ActionMiscIT.java

@Test
public void cookieManagerObjectRead() throws IOException, URISyntaxException {
    URI uri = createRequest("/cookie/object/read").build();

    HttpGet request = new HttpGet(uri);

    DefaultHttpClient client = new DefaultHttpClient();
    CookieStore cookieStore = new BasicCookieStore();
    client.setCookieStore(cookieStore);/* w w w . jav a2s . com*/

    BasicClientCookie initialCookie = new BasicClientCookie("user_cookie", "{\\\"value\\\":\\\"test\\\"}");
    initialCookie.setVersion(1);
    initialCookie.setDomain("localhost");
    initialCookie.setPath("/webmotion-test/test/cookie/object");
    cookieStore.addCookie(initialCookie);

    HttpResponse response = client.execute(request);

    HttpEntity entity = response.getEntity();
    InputStream content = entity.getContent();
    String result = IOUtils.toString(content);
    AssertJUnit.assertTrue(result, result.contains("Current value = test"));
}