List of usage examples for org.apache.http.impl.client DefaultHttpClient getCookieStore
public synchronized final CookieStore getCookieStore()
From source file:com.mikecorrigan.bohrium.pubsub.RegistrationClient.java
private void requestAuthCookie() { DefaultHttpClient httpClient = new DefaultHttpClient(); try {//from w w w .ja v a 2 s.co m String continueURL = getBaseUrl(); URI uri = new URI(getBaseUrl() + "/_ah/login?continue=" + URLEncoder.encode(continueURL, "UTF-8") + "&auth=" + mConfiguration.getString(AUTH_TOKEN)); HttpGet method = new HttpGet(uri); final HttpParams getParams = new BasicHttpParams(); HttpClientParams.setRedirecting(getParams, false); method.setParams(getParams); HttpResponse res = httpClient.execute(method); Header[] headers = res.getHeaders("Set-Cookie"); int statusCode = res.getStatusLine().getStatusCode(); Log.v(TAG, "statusCode=" + statusCode); if (statusCode != 302 || headers.length == 0) { Log.e(TAG, "Failed to get authCookie: statusCode=" + statusCode); setStateAndNotify(REGISTRATION_STATE_ERROR, REGISTRATION_SUBSTATE_ERROR_AUTH_COOKIE); return; } for (Cookie cookie : httpClient.getCookieStore().getCookies()) { Log.v(TAG, "cookie=" + cookie.getName()); if (AUTH_COOKIE_NAME.equals(cookie.getName())) { Log.i(TAG, "Received authCookie=" + cookie); mAuthCookie = cookie; setStateAndNotify(REGISTRATION_STATE_REGISTERING, REGISTRATION_SUBSTATE_HAVE_AUTH_COOKIE); // Move on to the next step, register to C2DM. c2dmRegister(this, mConfiguration.getString("senderId")); return; } } } catch (IOException | URISyntaxException e) { Log.e(TAG, "Exception " + e); Log.e(TAG, Log.getStackTraceString(e)); } finally { httpClient.getParams().setBooleanParameter(ClientPNames.HANDLE_REDIRECTS, true); } setStateAndNotify(REGISTRATION_STATE_ERROR, REGISTRATION_SUBSTATE_ERROR_AUTH_COOKIE); }
From source file:com.mockey.ClientExecuteProxy.java
/** * /*from w w w . ja v a 2s . co m*/ * @param twistInfo * @param proxyServer * @param realServiceUrl * @param httpMethod * @param request * @return * @throws ClientExecuteProxyException */ public ResponseFromService execute(TwistInfo twistInfo, ProxyServerModel proxyServer, Url realServiceUrl, boolean allowRedirectFollow, RequestFromClient request) throws ClientExecuteProxyException { log.info("Request: " + String.valueOf(realServiceUrl)); // general setup SchemeRegistry supportedSchemes = new SchemeRegistry(); // Register the "http" and "https" protocol schemes, they are // required by the default operator to look up socket factories. supportedSchemes.register(new Scheme("http", 80, PlainSocketFactory.getSocketFactory())); supportedSchemes.register(new Scheme("https", 443, SSLSocketFactory.getSocketFactory())); // prepare parameters HttpParams params = new BasicHttpParams(); HttpProtocolParams.setVersion(params, HttpVersion.HTTP_1_1); HttpProtocolParams.setContentCharset(params, HTTP.ISO_8859_1); HttpProtocolParams.setUseExpectContinue(params, false); ClientConnectionManager ccm = new ThreadSafeClientConnManager(supportedSchemes); DefaultHttpClient httpclient = new DefaultHttpClient(ccm, params); if (!allowRedirectFollow) { // Do NOT allow for 302 REDIRECT httpclient.setRedirectStrategy(new DefaultRedirectStrategy() { public boolean isRedirected(HttpRequest request, HttpResponse response, HttpContext context) { boolean isRedirect = false; try { isRedirect = super.isRedirected(request, response, context); } catch (ProtocolException e) { // TODO Auto-generated catch block e.printStackTrace(); } if (!isRedirect) { int responseCode = response.getStatusLine().getStatusCode(); if (responseCode == 301 || responseCode == 302) { return true; } } return isRedirect; } }); } else { // Yes, allow for 302 REDIRECT // Nothing needed here. } // Prevent CACHE, 304 not modified // httpclient.addRequestInterceptor(new HttpRequestInterceptor() { // public void process(final HttpRequest request, final HttpContext context) throws HttpException, IOException { // // request.setHeader("If-modified-Since", "Fri, 13 May 2006 23:54:18 GMT"); // // } // }); CookieStore cookieStore = httpclient.getCookieStore(); for (Cookie httpClientCookie : request.getHttpClientCookies()) { // HACK: // httpClientCookie.getValue(); cookieStore.addCookie(httpClientCookie); } // httpclient.setCookieStore(cookieStore); if (ClientExecuteProxy.cookieStore == null) { ClientExecuteProxy.cookieStore = httpclient.getCookieStore(); } else { httpclient.setCookieStore(ClientExecuteProxy.cookieStore); } StringBuffer requestCookieInfo = new StringBuffer(); // Show what cookies are in the store . for (Cookie cookie : ClientExecuteProxy.cookieStore.getCookies()) { log.debug("Cookie in the cookie STORE: " + cookie.toString()); requestCookieInfo.append(cookie.toString() + "\n\n\n"); } if (proxyServer.isProxyEnabled()) { // make sure to use a proxy that supports CONNECT httpclient.getCredentialsProvider().setCredentials(proxyServer.getAuthScope(), proxyServer.getCredentials()); httpclient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxyServer.getHttpHost()); } // TWISTING Url originalRequestUrlBeforeTwisting = null; if (twistInfo != null) { String fullurl = realServiceUrl.getFullUrl(); String twistedUrl = twistInfo.getTwistedValue(fullurl); if (twistedUrl != null) { originalRequestUrlBeforeTwisting = realServiceUrl; realServiceUrl = new Url(twistedUrl); } } ResponseFromService responseMessage = null; try { HttpHost htttphost = new HttpHost(realServiceUrl.getHost(), realServiceUrl.getPort(), realServiceUrl.getScheme()); HttpResponse response = httpclient.execute(htttphost, request.postToRealServer(realServiceUrl)); if (response.getStatusLine().getStatusCode() == 302) { log.debug("FYI: 302 redirect occuring from " + realServiceUrl.getFullUrl()); } responseMessage = new ResponseFromService(response); responseMessage.setOriginalRequestUrlBeforeTwisting(originalRequestUrlBeforeTwisting); responseMessage.setRequestUrl(realServiceUrl); } catch (Exception e) { log.error(e); throw new ClientExecuteProxyException("Unable to retrieve a response. ", realServiceUrl, e); } finally { // When HttpClient instance is no longer needed, // shut down the connection manager to ensure // immediate deallocation of all system resources httpclient.getConnectionManager().shutdown(); } // Parse out the response information we're looking for // StringBuffer responseCookieInfo = new StringBuffer(); // // Show what cookies are in the store . // for (Cookie cookie : ClientExecuteProxy.cookieStore.getCookies()) { // log.info("Cookie in the cookie STORE: " + cookie.toString()); // responseCookieInfo.append(cookie.toString() + "\n\n\n"); // // } // responseMessage.setRequestCookies(requestCookieInfo.toString()); // responseMessage.setResponseCookies(responseCookieInfo.toString()); return responseMessage; }
From source file:DownloadDialog.java
/******************************************************************** * Constructor: DownloadDialog/*from www . ja v a 2 s .com*/ * Purpose: constructor for download, with necessary references /*******************************************************************/ public DownloadDialog(final MainApplication context, Scheduler scheduler_Ref, JList courseListSelected_Ref, JList courseListAll_Ref) { // Basic setup for dialog setModalityType(Dialog.ModalityType.APPLICATION_MODAL); setDefaultCloseOperation(DO_NOTHING_ON_CLOSE); setTitle(TITLE); // Setup proper references this.scheduler = scheduler_Ref; this.courseListSelected = courseListSelected_Ref; this.courseListAll = courseListAll_Ref; // Store available terms storeTerms(); // Constraints GridBagConstraints c = new GridBagConstraints(); c.fill = GridBagConstraints.BOTH; c.insets = new Insets(10, 10, 10, 10); c.gridx = 0; c.gridy = 0; c.weightx = 1; c.weighty = 0; c.gridwidth = 2; // Main panel panel = new JPanel(new GridBagLayout()); // Add term select box termCB = new JComboBox(termsName.toArray()); panel.add(termCB, c); // Setup username and password labels JLabel userL = new JLabel("Username:"); JLabel passL = new JLabel("Password:"); c.gridwidth = 1; c.gridx = 0; c.weightx = 0; // Add user label c.gridy = 1; c.insets = new Insets(5, 10, 0, 10); panel.add(userL, c); // Add password label c.gridy = 2; c.insets = new Insets(0, 10, 5, 10); panel.add(passL, c); // Setup user and pass text fields user = new JTextField(); pass = new JPasswordField(); c.weightx = 1; c.gridx = 1; // Add user field c.gridy = 1; c.insets = new Insets(5, 10, 2, 10); panel.add(user, c); // Add pass field c.gridy = 2; c.insets = new Insets(2, 10, 5, 10); panel.add(pass, c); // Setup login button JButton login = new JButton("Login"); login.addActionListener(this); c.insets = new Insets(10, 10, 10, 10); c.gridx = 0; c.gridy = 3; c.gridwidth = 2; c.weightx = 1; panel.add(login, c); // Add panel to main box add(panel); // Pack the components and give userbox focus pack(); user.requestFocus(); // Create worker to download courses worker = new SwingWorker<Void, Void>() { protected Void doInBackground() throws Exception { // Reset courses scheduler.resetCourses(); // Constraints GridBagConstraints c = new GridBagConstraints(); c.fill = GridBagConstraints.BOTH; c.insets = new Insets(10, 10, 10, 10); c.gridx = 0; c.weightx = 1; c.weighty = 0; // Remove all elements panel.removeAll(); // Add status JLabel status = new JLabel("Connecting..."); c.gridy = 0; panel.add(status, c); // Add progress bar JProgressBar progressBar = new JProgressBar(0, SUBJECTS.length); c.gridy = 1; panel.add(progressBar, c); progressBar.setPreferredSize(new Dimension(275, 12)); // Revalidate, repaint, and pack //revalidate(); repaint(); pack(); try { // Create client DefaultHttpClient client = new DefaultHttpClient(); // Setup and execute initial login HttpGet initialLogin = new HttpGet("http://jweb.kettering.edu/cku1/twbkwbis.P_ValLogin"); HttpResponse response = client.execute(initialLogin); HTMLParser.parse(response); // Get current term String term = termsValue.get(termCB.getSelectedIndex()); // Consume entity (cookies) HttpEntity entity = response.getEntity(); if (entity != null) entity.consumeContent(); // Create post for login HttpPost login = new HttpPost("http://jweb.kettering.edu/cku1/twbkwbis.P_ValLogin"); // Parameters List<NameValuePair> parameters = new ArrayList<NameValuePair>(); parameters.add(new BasicNameValuePair("sid", user.getText())); parameters.add(new BasicNameValuePair("PIN", pass.getText())); login.setEntity(new UrlEncodedFormEntity(parameters)); login.setHeader("Referer", "http://jweb.kettering.edu/cku1/twbkwbis.P_ValLogin"); // Login ! response = client.execute(login); // Store proper cookies List<Cookie> cookies = client.getCookieStore().getCookies(); // Start off assuming logging in failed boolean loggedIn = false; // Check cookies for successful login for (int i = 0; i < cookies.size(); i++) if (cookies.get(i).getName().equals("SESSID")) loggedIn = true; // Success? if (loggedIn) { // Consumption of feed HTMLParser.parse(response); // Execute GET class list page HttpGet classList = new HttpGet( "http://jweb.kettering.edu/cku1/bwskfcls.p_sel_crse_search"); classList.setHeader("Referer", "https://jweb.kettering.edu/cku1/twbkwbis.P_GenMenu"); response = client.execute(classList); HTMLParser.parse(response); // Execute GET for course page HttpGet coursePage = new HttpGet( "http://jweb.kettering.edu/cku1/bwckgens.p_proc_term_date?p_calling_proc=P_CrseSearch&p_term=" + term); coursePage.setHeader("Referer", "http://jweb.kettering.edu/cku1/bwskfcls.p_sel_crse_search"); response = client.execute(coursePage); HTMLParser.parse(response); // Download every subject's data for (int index = 0; index < SUBJECTS.length; index++) { // Don't download if cancel was pressed if (isCancelled()) break; // Update status, progress bar, then store course String subject = SUBJECTS[index]; status.setText("Downloading " + subject); progressBar.setValue(index); scheduler.storeDynamicCourse(subject, client, term); } // Update course list data courseListAll.setListData(scheduler.getCourseIDs().toArray()); // Clear course list data String[] empty = {}; courseListSelected.setListData(empty); context.updatePermutations(); context.updateSchedule(); // Dispose of dialog if cancelled if (!isCancelled()) { dispose(); } } // Invalid login? else { // Update status status.setText("Invalid login."); } } // Failed to download? catch (Exception exc) { // Show stack trace, and update status exc.printStackTrace(); status.setText("Failed downloading."); } return null; } }; // Setup window close event to be same as cancel this.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { // Cancel all downloads then dispose worker.cancel(true); dispose(); } }); // Make sure dialog is visible setLocationRelativeTo(context); setVisible(true); }
From source file:com.servoy.extensions.plugins.http.HttpProvider.java
/** * Add cookie to the specified client./* w ww. ja v a 2 s . c o m*/ * * @deprecated Replaced by {@link HttpClient#setCookie(String,String)}. * * @sample * var cookieSet = plugins.http.setHttpClientCookie('clientName', 'JSESSIONID', 'abc', 'localhost', '/', -1, false) * if (cookieSet) * { * //do something * } * * @param clientName * @param cookieName * @param cookieValue * @param domain optional * @param path optional * @param maxAge optional * @param secure optional */ @Deprecated public boolean js_setHttpClientCookie(Object[] vargs) { String clientName = "", cookieName = "", cookieValue = "", domain = "", path = ""; int maxAge = -1; boolean secure = false; if (vargs.length >= 1) clientName = (String) vargs[0]; if (clientName == null || "".equals(clientName.trim())) return false; DefaultHttpClient client = httpClients.get(clientName); if (client == null) return false; if (vargs.length >= 2) cookieName = (String) vargs[1]; if (vargs.length >= 3) cookieValue = (String) vargs[2]; if (vargs.length >= 4) domain = (String) vargs[3]; if (vargs.length >= 5) path = (String) vargs[4]; if (vargs.length >= 6) { maxAge = Utils.getAsInteger(vargs[5]); //if something is wrong, 0 is returned if (maxAge == 0) maxAge = -1; } if (vargs.length >= 7) secure = Utils.getAsBoolean(vargs[6]); if (cookieName == null || "".equals(cookieName.trim())) return false; if (cookieValue == null || "".equals(cookieValue.trim())) return false; BasicClientCookie cookie; cookie = new BasicClientCookie(cookieName, cookieValue); if (vargs.length > 3) { cookie.setPath(path); cookie.setExpiryDate(new Date(System.currentTimeMillis() + maxAge)); cookie.setSecure(secure); } cookie.setDomain(domain); client.getCookieStore().addCookie(cookie); return true; }
From source file:net.paissad.minus.utils.HttpClientUtils.java
/** * Convenience method for sending HTTP requests. * <b><span style="color:red">Note</span></b>: This method is intended to be * used internally, not by end-users.//from w w w . j a v a 2s . co m * * @param baseURL - <b>Example</b>: http://minus.com/api * @param parametersBody - The parameters (name => value pairs) to pass to * the request. * @param sessionId - If <tt>null</tt> or empty, then create and use a new * session, otherwise, use the specified session_id (which is * stored in a cookie). * @param requestType * @param additionalRequestHeaders - * @param expectedResponseType * @return The response retrieved from Minus API. * @throws MinusException */ private static MinusHttpResponse sendRequest(final String baseURL, final Map<String, String> parametersBody, final String sessionId, final RequestType requestType, final Header[] additionalRequestHeaders, final ExpectedResponseType expectedResponseType) throws MinusException { DefaultHttpClient client = null; HttpRequestBase request = null; InputStream responseContent = null; boolean errorOccured = false; try { if (requestType == RequestType.GET) { request = new HttpGet(baseURL); if (parametersBody != null && !parametersBody.isEmpty()) { request = appendParametersToRequest(request, parametersBody); } } else if (requestType == RequestType.POST) { UrlEncodedFormEntity encodedEntity = new UrlEncodedFormEntity(getHttpParamsFromMap(parametersBody), HTTP.UTF_8); request = new HttpPost(baseURL); ((HttpPost) request).setEntity(encodedEntity); } else { throw new MinusException("The method (" + requestType + ") is unknown, weird ..."); } request.addHeader(new BasicHeader("User-Agent", APP_USER_AGENT)); if (additionalRequestHeaders != null && additionalRequestHeaders.length > 0) { for (Header aHeader : additionalRequestHeaders) { request.addHeader(aHeader); } } client = new DefaultHttpClient(); client.setHttpRequestRetryHandler(new MinusHttpRequestRetryHandler()); client.getParams().setParameter(ClientPNames.HANDLE_REDIRECTS, true); client.getParams().setParameter(ClientPNames.COOKIE_POLICY, CookiePolicy.BEST_MATCH); CookieStore cookieStore = new BasicCookieStore(); Cookie sessionCookie = null; if (sessionId != null && !sessionId.trim().isEmpty()) { sessionCookie = new BasicClientCookie2(MINUS_COOKIE_NAME, sessionId); ((BasicClientCookie2) sessionCookie).setPath("/"); ((BasicClientCookie2) sessionCookie).setDomain(MINUS_DOMAIN_NAME); ((BasicClientCookie2) sessionCookie).setVersion(0); cookieStore.addCookie(sessionCookie); } client.setCookieStore(cookieStore); HttpContext localContext = new BasicHttpContext(); // Bind custom cookie store to the local context localContext.setAttribute(ClientContext.COOKIE_STORE, cookieStore); // Execute the request ... pass local context as a parameter HttpResponse resp = client.execute(request, localContext); // Let's update the cookie have the name 'sessionid' for (Cookie aCookie : client.getCookieStore().getCookies()) { if (aCookie.getName().equals(MINUS_COOKIE_NAME)) { sessionCookie = aCookie; break; } } Object result = null; int statusCode = resp.getStatusLine().getStatusCode(); if (statusCode == HttpStatus.SC_OK) { HttpEntity entity = resp.getEntity(); if (entity != null) { if (expectedResponseType == ExpectedResponseType.STRING) { result = EntityUtils.toString(entity); EntityUtils.consume(entity); } else if (expectedResponseType == ExpectedResponseType.HTTP_ENTITY) { result = entity; } } } else { // The response code is not OK. StringBuilder errMsg = new StringBuilder(); errMsg.append("HTTP ").append(requestType).append(" failed => ").append(resp.getStatusLine()); if (request != null) { errMsg.append(" : ").append(request.getURI()); } throw new MinusException(errMsg.toString()); } return new MinusHttpResponse(result, sessionCookie); } catch (Exception e) { errorOccured = true; if (request != null) { request.abort(); } String errMsg = "Error while executing the HTTP " + requestType + " request : " + e.getMessage(); throw new MinusException(errMsg, e); } finally { if (client != null) { // We must not close the client is the expected response is an // InputStream. Indeed, if ever we close the client, we won't be // able to read the response because of SocketException. if (errorOccured) { client.getConnectionManager().shutdown(); } else if (expectedResponseType != ExpectedResponseType.HTTP_ENTITY) { client.getConnectionManager().shutdown(); } } CommonUtils.closeAllStreamsQuietly(responseContent); } }
From source file:com.mediatek.systemupdate.HttpManager.java
private HttpResponse doPost(String url, Map<String, String> headers, ArrayList<BasicNameValuePair> bnvpa) { Xlog.i(TAG, "doPost, url = " + url + ", mCookies = " + mCookies); HttpContext localcontext = new BasicHttpContext(); if (mCookies != null) { localcontext.setAttribute(ClientContext.COOKIE_STORE, mCookies); }/*from w ww . ja va 2 s . co m*/ HttpResponse response = null; try { HttpHost host = null; HttpPost httpPost = null; if (url.contains("https")) { Uri uri = Uri.parse(url); host = new HttpHost(uri.getHost(), PORT_NUMBER, uri.getScheme()); httpPost = new HttpPost(uri.getPath()); } else { httpPost = new HttpPost(url); } if (headers != null) { for (Map.Entry<String, String> entry : headers.entrySet()) { httpPost.addHeader(entry.getKey(), entry.getValue()); } } if (bnvpa != null) { httpPost.setEntity(new UrlEncodedFormEntity(bnvpa)); } DefaultHttpClient httpClient = new DefaultHttpClient(mHttpConnMgr, mHttpParam); try { if (url.contains("https")) { Xlog.i(TAG, "doPost, https"); response = httpClient.execute(host, httpPost); } else { Xlog.i(TAG, "doPost, http"); Xlog.i(TAG, "mHttpClient =" + httpClient + "httpPost = " + httpPost + "localcontext = " + localcontext); response = httpClient.execute(httpPost, localcontext); } if (mCookies == null) { mCookies = httpClient.getCookieStore(); Xlog.i(TAG, "mCookies size = " + mCookies.getCookies().size()); } return response; } catch (ConnectTimeoutException e) { e.printStackTrace(); mErrorCode = HTTP_RESPONSE_NETWORK_ERROR; } } catch (UnsupportedEncodingException e) { e.printStackTrace(); mErrorCode = HTTP_RESPONSE_NETWORK_ERROR; } catch (IOException e) { e.printStackTrace(); mErrorCode = HTTP_RESPONSE_NETWORK_ERROR; } return response; }
From source file:gov.medicaid.screening.dao.impl.NursingLicenseDAOBean.java
/** * This method performs login to the configured site. * * @return the cookies generated by the login process * * @throws URISyntaxException if an error occurs while building the URL. * @throws ClientProtocolException if client does not support protocol used. * @throws IOException if an error occurs while parsing response. * @throws ServiceException for any other problems encountered *///from w ww.j ava 2s . c o m private CookieStore loginAsPublicUser() throws URISyntaxException, ClientProtocolException, IOException, ServiceException { DefaultHttpClient client = new DefaultHttpClient(getLaxSSLConnectionManager()); client.setRedirectStrategy(new LaxRedirectStrategy()); String loginSite = getLoginURL(); HttpGet getLogin = new HttpGet(new URIBuilder(loginSite).build()); HttpResponse response = client.execute(getLogin); verifyAndAuditCall(loginSite, response); Document page = Jsoup.parse(EntityUtils.toString(response.getEntity())); // select public user HttpPost login = new HttpPost(new URIBuilder(loginSite).build()); HttpEntity entity = postForm(loginSite, client, login, new String[][] { { "__EVENTTARGET", "_ctl0_rblUserType_2" }, { "__EVENTARGUMENT", "" }, { "__VIEWSTATE", page.select("input[name=__VIEWSTATE]").first().val() } }, true); page = Jsoup.parse(EntityUtils.toString(entity)); // enter credentials entity = postForm(loginSite, client, login, new String[][] { { "__EVENTTARGET", "" }, { "__EVENTARGUMENT", "" }, { "_ctl0:cmdLogin", "Log In" }, { "_ctl0:rblUserType", "14" }, { "_ctl0:txtEMailAddress", getUsername() }, { "_ctl0:txtPassword", getPassword() }, { "__VIEWSTATE", page.select("input[name=__VIEWSTATE]").first().val() } }, true); page = Jsoup.parse(EntityUtils.toString(entity)); // check that the user was actually logged in if (page.select("a#Banner_hlLogoff").size() == 0) { throw new ServiceException(ErrorCode.MITA50003.getDesc()); } return client.getCookieStore(); }
From source file:org.mobisocial.corral.CorralTicketProvider.java
public String getUploadTicket(String objName, String type, String length, String md5) throws IOException, JSONException { if (SERVER_URL == null) { Log.w(TAG, "no file upload service"); return null; }//from w w w. java 2 s. c om String ticket = null; // get Identity setIdentityAndSignature(null); if (myidentity == null) { Log.e(TAG, "Failed to get IDENTITY."); return null; } String shortidentity = myidentity.substring(0, 66); String url = SERVER_URL + "user/" + shortidentity + "/object/" + objName + "/upload-ticket/" + type + "/" + length + "/" + md5; Log.d(TAG, "Now accessing: " + url); // Set up HTTP request DefaultHttpClient http = new CertifiedHttpClient(mContext); http.setCookieStore(cookieStore); HttpGet httpget = new HttpGet(url); // httpget.setHeader( "Connection", "Keep-Alive" ); HttpResponse response = http.execute(httpget); Log.d(TAG, "StatusCode: " + response.getStatusLine().getStatusCode()); // TODO DELETE Header[] headers = response.getAllHeaders(); for (Header header : headers) { Log.d(TAG, "Header: name=" + header.getName() + ", val=" + header.getValue()); } if (response.getStatusLine().getStatusCode() == HttpStatus.SC_FORBIDDEN) { Header header = response.getFirstHeader("WWW-Authenticate"); if (header == null) { Log.e(TAG, "Failed to get Corral header."); return null; } String headervalue = header.getValue(); if (!headervalue.startsWith("Corral=")) { Log.e(TAG, "Failed to get Corral header."); return null; } String[] str = headervalue.split("\""); String challenge = str[1]; setIdentityAndSignature(challenge); if (mysign == null || myidentity == null) { Log.e(TAG, "Failed to get IDENTITY and SIGNATURE."); return null; } httpget.setHeader("Authorization", "Corral " + myidentity + " " + mysign); Log.d(TAG, "Corral " + myidentity + " " + mysign); response = http.execute(httpget); Log.d(TAG, "StatusCode: " + response.getStatusLine().getStatusCode()); } if (response.getStatusLine().getStatusCode() == 200) { cookieStore = http.getCookieStore(); Log.d(TAG, "Saved Cookie: " + cookieStore.getCookies().get(0).getValue()); BufferedReader rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent())); String responseStr = ""; String line = ""; while ((line = rd.readLine()) != null) { responseStr += line; } Log.d(TAG, "Server response:" + responseStr); JSONObject jso = new JSONObject(responseStr); ticket = jso.getString("ticket"); datestr = jso.getString("date"); } return ticket; }
From source file:org.mobisocial.corral.CorralTicketProvider.java
public String getDownloadTicket(String objName) throws IOException, JSONException { if (SERVER_URL == null) { Log.w(TAG, "no file upload service"); return null; }/*from w w w. ja va 2 s . c om*/ String ticket = null; // get Identity setIdentityAndSignature(null); if (myidentity == null) { Log.e(TAG, "Failed to get IDENTITY."); return null; } String shortidentity = myidentity.substring(0, 66); String url = SERVER_URL + "user/" + shortidentity + "/object/" + objName + "/download-ticket/"; Log.d(TAG, "Now accessing: " + url); // Set up HTTP request DefaultHttpClient http = new CertifiedHttpClient(mContext); http.setCookieStore(cookieStore); HttpGet httpget = new HttpGet(url); // httpget.setHeader( "Connection", "Keep-Alive" ); HttpResponse response = http.execute(httpget); Log.d(TAG, "StatusCode: " + response.getStatusLine().getStatusCode()); // TODO DELETE Header[] headers = response.getAllHeaders(); for (Header header : headers) { Log.d(TAG, "Header: name=" + header.getName() + ", val=" + header.getValue()); } if (response.getStatusLine().getStatusCode() == HttpStatus.SC_FORBIDDEN) { Header header = response.getFirstHeader("WWW-Authenticate"); if (header == null) { Log.e(TAG, "Failed to get Corral header."); return null; } String headervalue = header.getValue(); if (!headervalue.startsWith("Corral=")) { Log.e(TAG, "Failed to get Corral header."); return null; } String[] str = headervalue.split("\""); String challenge = str[1]; setIdentityAndSignature(challenge); if (mysign == null || myidentity == null) { Log.e(TAG, "Failed to get IDENTITY and SIGNATURE."); return null; } httpget.setHeader("Authorization", "Corral " + myidentity + " " + mysign); Log.d(TAG, "Corral " + myidentity + " " + mysign); response = http.execute(httpget); Log.d(TAG, "StatusCode: " + response.getStatusLine().getStatusCode()); } if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) { cookieStore = http.getCookieStore(); Log.d(TAG, "Saved Cookie: " + cookieStore.getCookies().get(0).getValue()); BufferedReader rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent())); String responseStr = ""; String line = ""; while ((line = rd.readLine()) != null) { responseStr += line; } JSONObject jso = new JSONObject(responseStr); ticket = jso.getString("ticket"); datestr = jso.getString("date"); } return ticket; }