Java Code Examples for org.apache.http.client.protocol.HttpClientContext#setCookieStore()

The following examples show how to use org.apache.http.client.protocol.HttpClientContext#setCookieStore() . These examples are extracted from open source projects. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
private HttpClientContext convertHttpClientContext(Request request, Site site, Proxy proxy) {
    HttpClientContext httpContext = new HttpClientContext();
    if (proxy != null && proxy.getUsername() != null) {
        AuthState authState = new AuthState();
        authState.update(new BasicScheme(ChallengeState.PROXY), new UsernamePasswordCredentials(proxy.getUsername(), proxy.getPassword()));
        httpContext.setAttribute(HttpClientContext.PROXY_AUTH_STATE, authState);
    }
    if (request.getCookies() != null && !request.getCookies().isEmpty()) {
        CookieStore cookieStore = new BasicCookieStore();
        for (Map.Entry<String, String> cookieEntry : request.getCookies().entrySet()) {
            BasicClientCookie cookie1 = new BasicClientCookie(cookieEntry.getKey(), cookieEntry.getValue());
            cookie1.setDomain(UrlUtils.removePort(UrlUtils.getDomain(request.getUrl())));
            cookieStore.addCookie(cookie1);
        }
        httpContext.setCookieStore(cookieStore);
    }
    return httpContext;
}
 
Example 2
/**
 * https://upay.10010.com/npfweb/NpfWeb/buyCard/checkPhoneVerifyCode?callback=checkSuccess&commonBean.phoneNo=13249073372&phoneVerifyCode=932453&timeStamp=0.3671002044464746
 * @throws ParseException
 * @throws Exception
 * sendSuccess('true') 返回格式
 */
@Test
public void checkChargeSms() throws ParseException, Exception {
	String mobile = "13249073372";
	CookieStore cookieStore = valueOperations.get(mobile);
	HttpClientContext httpClientContext = HttpClientContext.create();
	httpClientContext.setCookieStore(cookieStore);
	MultiValueMap<String,String> params =  new LinkedMultiValueMap<>();
	params.put("commonBean.phoneNo", Lists.newArrayList(mobile));
	params.put("phoneVerifyCode", Lists.newArrayList("904114"));
	params.put("timeStamp", Lists.newArrayList(String.valueOf(System.currentTimeMillis())));

	String url = UriComponentsBuilder.fromHttpUrl("https://upay.10010.com/npfweb/NpfWeb/buyCard/checkPhoneVerifyCode").queryParams(params).build().toUriString();
	HttpGet request = new HttpGet(url);
	request.setHeader("Referer", "https://upay.10010.com/npfweb/npfbuycardweb/buycard_recharge_fill.htm");
	request.setHeader("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36");
	CloseableHttpResponse response = client.execute(request, httpClientContext);
	System.out.println("response:" + JSON.toJSONString(response));
	if (HttpStatus.SC_OK == response.getStatusLine().getStatusCode()) {// 成功
		HttpEntity entity = response.getEntity();
		if (null != entity) {
			String result = EntityUtils.toString(entity, "UTF-8");
			EntityUtils.consume(entity);
			System.out.println("result" + result);
		} else {
			throw new ServiceException("请求无数据返回");
		}
	} else {
		throw new ServiceException("请求状态异常失败");
	}
}
 
Example 3
Source Project: timer   File: Session.java    License: Apache License 2.0 6 votes vote down vote up
public Session process() throws IOException {

        HttpRequest request = this.getRequest();
        Objects.requireNonNull(this.request);
        HttpClient httpClient = this.getHttpClient();
        HttpClientContext context = this.getContext();
        if (request instanceof HttpGet) {
            this.getContext().setCookieStore(cookies);
            HttpGet get = (HttpGet) request;
            this.httpResponse = httpClient.execute(get, context);
            this.httpCode = httpResponse.getStatusLine().getStatusCode();
            this.repUtils = new ResponseUtils(this.httpResponse);
        } else if (this.request instanceof HttpPost) {
            context.setCookieStore(cookies);
            HttpPost post = (HttpPost) request;
            post.setEntity(this.getProviderService().builder());
            this.httpResponse = this.httpClient.execute(post, this.context);
            this.httpCode = httpResponse.getStatusLine().getStatusCode();
            this.repUtils = new ResponseUtils(this.httpResponse);
        }
        return this;
    }
 
Example 4
Source Project: feiqu-opensource   File: HttpClientUtil.java    License: Apache License 2.0 5 votes vote down vote up
public static CloseableHttpResponse getResponse(HttpRequestBase request) throws IOException {
        if (request.getConfig() == null){
            request.setConfig(requestConfig);
        }
        request.setHeader("User-Agent", CommonConstant.userAgentArray[new Random().nextInt(CommonConstant.userAgentArray.length)]);
        HttpClientContext httpClientContext = HttpClientContext.create();
        httpClientContext.setCookieStore(cookieStore);
        CloseableHttpResponse response = httpClient.execute(request, httpClientContext);
//		int statusCode = response.getStatusLine().getStatusCode();
//		if(statusCode != 200){
//			throw new IOException("status code is:" + statusCode);
//		}
        return response;
    }
 
Example 5
/**
 * Create a separate Http context to protect session cookies.
 *
 * @return HttpClientContext instance with cookies
 */
private HttpClientContext cloneContext() {
    // Create a local context to avoid cookie reset on error
    BasicCookieStore cookieStore = new BasicCookieStore();
    cookieStore.addCookies(httpClientAdapter.getCookies().toArray(new org.apache.http.cookie.Cookie[0]));
    HttpClientContext context = HttpClientContext.create();
    context.setCookieStore(cookieStore);
    return context;
}
 
Example 6
/**
 * https://uac.10010.com/portal/Service/SendMSG?callback=jQuery17205929719702722311_1528559748925&req_time=1528560335346&mobile=13249073372&_=1528560335347
 * @throws Exception 
 * @throws ParseException 
 */
@Test
public void sendSms() throws ParseException, Exception {
	CookieStore cookie = new BasicCookieStore() ;
	HttpClientContext httpClientContext = HttpClientContext.create();
	httpClientContext.setCookieStore(cookie);
	MultiValueMap<String,String> params =  new LinkedMultiValueMap<>();
	params.put("req_time", Lists.newArrayList(String.valueOf(System.currentTimeMillis())));
	params.put("_=", Lists.newArrayList(String.valueOf(System.currentTimeMillis())));
	params.put("mobile", Lists.newArrayList("13249073372"));
	String url = UriComponentsBuilder.fromHttpUrl("https://uac.10010.com/portal/Service/SendMSG").queryParams(params).build().toUriString();
	HttpGet request = new HttpGet(url);
	request.setHeader("Referer", "https://uac.10010.com/portal/custLogin");
	request.setHeader("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36");
	CloseableHttpResponse response = client.execute(request, httpClientContext);
	System.out.println("response:" + JSON.toJSONString(response));
	if (HttpStatus.SC_OK == response.getStatusLine().getStatusCode()) {// 成功
		HttpEntity entity = response.getEntity();
		if (null != entity) {
			String result = EntityUtils.toString(entity, "UTF-8");
			EntityUtils.consume(entity);
			System.out.println("result" + result);
		} else {
			throw new ServiceException("请求无数据返回");
		}
	} else {
		throw new ServiceException("请求状态异常失败");
	}
	System.out.println("cookie:" + JSON.toJSONString(cookie));
	
}
 
Example 7
/**
 * https://upay.10010.com/npfweb/NpfWeb/buyCard/sendPhoneVerifyCode?callback=sendSuccess&commonBean.phoneNo=13249073372&timeStamp=0.474434596328998
 * @throws ParseException
 * @throws Exception
 * sendSuccess('true') 返回格式
 */
@Test
public void chargeSms() throws ParseException, Exception {
	String mobile = "13249073372";
	CookieStore cookieStore = valueOperations.get(mobile);
	HttpClientContext httpClientContext = HttpClientContext.create();
	httpClientContext.setCookieStore(cookieStore);
	MultiValueMap<String,String> params =  new LinkedMultiValueMap<>();
	params.put("commonBean.phoneNo", Lists.newArrayList(mobile));
	params.put("timeStamp", Lists.newArrayList(String.valueOf(System.currentTimeMillis())));

	String url = UriComponentsBuilder.fromHttpUrl("https://upay.10010.com/npfweb/NpfWeb/buyCard/sendPhoneVerifyCode").queryParams(params).build().toUriString();
	HttpGet request = new HttpGet(url);
	request.setHeader("Referer", "https://uac.10010.com/portal/custLogin");
	request.setHeader("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36");
	CloseableHttpResponse response = client.execute(request, httpClientContext);
	System.out.println("response:" + JSON.toJSONString(response));
	if (HttpStatus.SC_OK == response.getStatusLine().getStatusCode()) {// 成功
		HttpEntity entity = response.getEntity();
		if (null != entity) {
			String result = EntityUtils.toString(entity, "UTF-8");
			EntityUtils.consume(entity);
			System.out.println("result" + result);
		} else {
			throw new ServiceException("请求无数据返回");
		}
	} else {
		throw new ServiceException("请求状态异常失败");
	}
}
 
Example 8
/**
 * https://upay.10010.com/npfweb/NpfWeb/buyCard/buyCardCheck?
 * cardBean.cardValueCode=04&offerPriceStrHidden=100.00
 * &offerRateStrHidden=1&cardBean.cardValue=100&cardBean.minCardNum=1
 * &cardBean.maxCardNum=3&MaxThreshold01=15&MinThreshold01=1&MaxThreshold02=10
 * &MinThreshold02=1&MaxThreshold03=6&MinThreshold03=1&MaxThreshold04=3
 * &MinThreshold04=1&commonBean.channelType=101
 * &secstate.state=3mCBuETgA%2FYTbuZO79gHFA%3D%3D%5E%40%5E0.0.1
 * &cardBean.buyCardAmount=1&cardBean.buyCardEmail=734839030%40qq.com
 * &cardBean.buyCardPhoneNo=13249073372&phoneVerifyCode=419906
 * &invoiceBean.need_invoice=0&invoiceBean.invoice_type=
 * &invoiceBean.is_mailing=0&saveflag=false&commonBean.provinceCode=&commonBean.cityCode=&invoiceBean.invoice_list=
 * {"secstate":""}
 */
@Test
public void order() throws ParseException, Exception {
	String mobile = "13249073372";
	String email= "[email protected]";
	String phoneVerifyCode="874501";
	CookieStore cookieStore = valueOperations.get(mobile);
	HttpClientContext httpClientContext = HttpClientContext.create();
	httpClientContext.setCookieStore(cookieStore);
	String url = UriComponentsBuilder.fromHttpUrl("https://upay.10010.com/npfweb/NpfWeb/buyCard/buyCardCheck").query("cardBean.cardValueCode=04&offerPriceStrHidden=100.00&offerRateStrHidden=1&cardBean.cardValue=100&cardBean.minCardNum=1&cardBean.maxCardNum=3&MaxThreshold01=15&MinThreshold01=1&MaxThreshold02=10&MinThreshold02=1&MaxThreshold03=6&MinThreshold03=1&MaxThreshold04=3&MinThreshold04=1&commonBean.channelType=101&secstate.state=3mCBuETgA%2FYTbuZO79gHFA%3D%3D%5E%40%5E0.0.1&cardBean.buyCardAmount=1&cardBean.buyCardEmail=" + email+ "&cardBean.buyCardPhoneNo=" + mobile+ "&phoneVerifyCode=" + phoneVerifyCode +"&invoiceBean.need_invoice=0&invoiceBean.invoice_type=&invoiceBean.is_mailing=0&saveflag=false&commonBean.provinceCode=&commonBean.cityCode=&invoiceBean.invoice_list=").build().toUriString();
	HttpGet request = new HttpGet(url);
	request.setHeader("Referer", "https://upay.10010.com/npfweb/npfbuycardweb/buycard_recharge_fill.htm");
	request.setHeader("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36");
	CloseableHttpResponse response = client.execute(request, httpClientContext);
	System.out.println("response:" + JSON.toJSONString(response));
	if (HttpStatus.SC_OK == response.getStatusLine().getStatusCode()) {// 成功
		HttpEntity entity = response.getEntity();
		if (null != entity) {
			String result = EntityUtils.toString(entity, "UTF-8");
			EntityUtils.consume(entity);
			System.out.println("result" + result);
		} else {
			throw new ServiceException("请求无数据返回");
		}
	} else {
		throw new ServiceException("请求状态异常失败");
	}
}
 
Example 9
Source Project: keycloak   File: ConcurrentLoginTest.java    License: Apache License 2.0 5 votes vote down vote up
protected HttpClientContext createHttpClientContextForUser(final CloseableHttpClient httpClient, String userName, String password) throws IOException {
    final HttpClientContext context = HttpClientContext.create();
    CookieStore cookieStore = new BasicCookieStore();
    context.setCookieStore(cookieStore);
    HttpUriRequest request = handleLogin(getPageContent(oauth.getLoginFormUrl(), httpClient, context), userName, password);
    Assert.assertThat(parseAndCloseResponse(httpClient.execute(request, context)), containsString("<title>AUTH_RESPONSE</title>"));
    return context;
}
 
Example 10
public final static void main(String[] args) throws Exception {
	CloseableHttpAsyncClient httpclient = HttpAsyncClients.createDefault();
	try {
		// Create a local instance of cookie store
		CookieStore cookieStore = new BasicCookieStore();

		// Create local HTTP context
		HttpClientContext localContext = HttpClientContext.create();
		// Bind custom cookie store to the local context
		localContext.setCookieStore(cookieStore);

           HttpGet httpget = new HttpGet("http://localhost/");
		System.out.println("Executing request " + httpget.getRequestLine());

		httpclient.start();

		// Pass local context as a parameter
		Future<HttpResponse> future = httpclient.execute(httpget, localContext, null);

		// Please note that it may be unsafe to access HttpContext instance
		// while the request is still being executed

		HttpResponse response = future.get();
		System.out.println("Response: " + response.getStatusLine());
		List<Cookie> cookies = cookieStore.getCookies();
		for (int i = 0; i < cookies.size(); i++) {
			System.out.println("Local cookie: " + cookies.get(i));
		}
		System.out.println("Shutting down");
	} finally {
		httpclient.close();
	}
}
 
Example 11
Source Project: bobcat   File: AemAuthCookieFactoryImpl.java    License: Apache License 2.0 5 votes vote down vote up
/**
 * This method provides browser cookie for authenticating user to AEM instance
 *
 * @param url      URL to AEM instance, like http://localhost:4502
 * @param login    Username to use
 * @param password Password to use
 * @return Cookie for selenium WebDriver.
 */
@Override
public Cookie getCookie(String url, String login, String password) {
  if (!cookieJar.containsKey(url)) {
    HttpPost loginPost = new HttpPost(url
        + "/libs/granite/core/content/login.html/j_security_check");

    List<NameValuePair> nameValuePairs = new ArrayList<>();
    nameValuePairs.add(new BasicNameValuePair("_charset_", "utf-8"));
    nameValuePairs.add(new BasicNameValuePair("j_username", login));
    nameValuePairs.add(new BasicNameValuePair("j_password", password));
    nameValuePairs.add(new BasicNameValuePair("j_validate", "true"));

    CookieStore cookieStore = new BasicCookieStore();
    HttpClientContext context = HttpClientContext.create();
    context.setCookieStore(cookieStore);

    try {
      loginPost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
      CloseableHttpResponse loginResponse = httpClient.execute(loginPost, context);
      loginResponse.close();
    } catch (IOException e) {
      LOG.error("Can't get AEM authentication cookie", e);
    } finally {
      loginPost.reset();
    }
    Cookie cookie = findAuthenticationCookie(cookieStore.getCookies());
    cookieJar.put(url, cookie);
  }
  return cookieJar.get(url);
}
 
Example 12
Source Project: ZhihuSpider   File: HttpUtil.java    License: MIT License 5 votes vote down vote up
public static boolean deserializeCookie(String path, HttpClientContext httpClientContext) {
    try {
        CookieStore cookieStore = (CookieStore) deserializeMyContext(path);
        httpClientContext.setCookieStore(cookieStore);
    } catch (Exception e) {
        return false;
    }
    return true;
}
 
Example 13
Source Project: syncope   File: BasicTest.java    License: Apache License 2.0 5 votes vote down vote up
@Test
public void loginError() throws IOException {
    CloseableHttpClient httpclient = HttpClients.createDefault();
    HttpClientContext context = HttpClientContext.create();
    context.setCookieStore(new BasicCookieStore());

    // 1. first GET to fetch execution
    HttpGet get = new HttpGet(getLoginURL());
    get.addHeader(new BasicHeader(HttpHeaders.ACCEPT_LANGUAGE, "en-US,en;q=0.5"));
    CloseableHttpResponse response = httpclient.execute(get, context);
    assertEquals(HttpStatus.SC_OK, response.getStatusLine().getStatusCode());

    String responseBody = EntityUtils.toString(response.getEntity());
    int begin = responseBody.indexOf("name=\"execution\" value=\"");
    assertNotEquals(-1, begin);
    int end = responseBody.indexOf("\"/><input type=\"hidden\" name=\"_eventId\"");
    assertNotEquals(-1, end);

    String execution = responseBody.substring(begin + 24, end);
    assertNotNull(execution);

    // 2. then POST to authenticate
    List<NameValuePair> form = new ArrayList<>();
    form.add(new BasicNameValuePair("_eventId", "submit"));
    form.add(new BasicNameValuePair("execution", execution));
    form.add(new BasicNameValuePair("username", "mrossi"));
    form.add(new BasicNameValuePair("password", "WRONG"));
    form.add(new BasicNameValuePair("geolocation", ""));

    HttpPost post = new HttpPost(getLoginURL());
    post.addHeader(new BasicHeader(HttpHeaders.ACCEPT_LANGUAGE, "en-US,en;q=0.5"));
    post.setEntity(new UrlEncodedFormEntity(form, Consts.UTF_8));
    response = httpclient.execute(post, context);

    // 3. check authentication results
    assertEquals(HttpStatus.SC_UNAUTHORIZED, response.getStatusLine().getStatusCode());
}
 
Example 14
Source Project: keycloak   File: OAuthRedirectUriTest.java    License: Apache License 2.0 5 votes vote down vote up
@Test
public void testWithCustomScheme() throws IOException {
    oauth.clientId("custom-scheme");

    oauth.redirectUri("android-app://org.keycloak.examples.cordova/https/keycloak-cordova-example.github.io/login");
    oauth.openLoginForm();

    RequestConfig globalConfig = RequestConfig.custom().setCookieSpec(CookieSpecs.BEST_MATCH).build();
    CookieStore cookieStore = new BasicCookieStore();
    HttpClientContext context = HttpClientContext.create();
    context.setCookieStore(cookieStore);

    String loginUrl = driver.getCurrentUrl();

    CloseableHttpClient client = HttpClients.custom().setDefaultRequestConfig(globalConfig).setDefaultCookieStore(cookieStore).build();

    try {
        String loginPage = SimpleHttp.doGet(loginUrl, client).asString();

        String formAction = loginPage.split("action=\"")[1].split("\"")[0].replaceAll("&amp;", "&");
        SimpleHttp.Response response = SimpleHttp.doPost(formAction, client).param("username", "[email protected]").param("password", "password").asResponse();

        response.getStatus();
        assertThat(response.getFirstHeader("Location"), Matchers.startsWith("android-app://org.keycloak.examples.cordova/https/keycloak-cordova-example.github.io/login"));
    } finally {
        client.close();
    }
}
 
Example 15
Source Project: esigate   File: VaryMasterTest.java    License: Apache License 2.0 5 votes vote down vote up
/**
 * Send a request with a Cookie "test-cookie" to vary.jsp (which will get content from provider) and ensure the
 * result is valid.
 * 
 * @param cookieValue
 * @param forceRefresh
 * @return Page timestamp. Can be used to detect cache hits.
 * @throws Exception
 */
private String doCookieRequest(String cookieValue, boolean forceRefresh) throws Exception {
    CookieStore cookieStore = new BasicCookieStore();
    HttpClientContext context = new HttpClientContext();
    context.setCookieStore(cookieStore);
    CloseableHttpClient client = HttpClients.createDefault();
    RequestConfig config = RequestConfig.custom().setCookieSpec(CookieSpecs.DEFAULT).build();
    HttpGet request = new HttpGet("http://localhost:8080/esigate-app-master/vary.jsp");
    request.setConfig(config);

    if (cookieValue != null) {
        BasicClientCookie cookie = new BasicClientCookie("test-cookie", cookieValue);
        cookie.setDomain("localhost");
        cookie.setPath("/");
        cookieStore.addCookie(cookie);
    }
    if (forceRefresh) {
        request.addHeader("Cache-Control", "no-cache");
    }
    HttpResponse response = client.execute(request, context);
    // Ensure content is valid.
    String text = IOUtils.toString(response.getEntity().getContent());
    assertNotNull(text);
    LOG.debug("----- Request with cookie " + cookieValue + " and forceRefresh=" + forceRefresh + " -----> \n"
            + text);
    if (cookieValue != null) {
        assertTrue("no value '" + cookieValue + "' found", text.contains(cookieValue));
    } else {
        assertTrue("no cookie found", text.contains("no cookie"));
    }

    client.close();

    return text.substring(text.indexOf("stime") + 5, text.indexOf("etime"));
}
 
Example 16
@Test
public void payPage() throws ParseException, Exception {
	String mobile = "13249073372";
	String email= "[email protected]";
	String phoneVerifyCode="874501";
	CookieStore cookieStore = valueOperations.get(mobile);
	HttpClientContext httpClientContext = HttpClientContext.create();
	httpClientContext.setCookieStore(cookieStore);
	String url = UriComponentsBuilder.fromHttpUrl("https://upay.10010.com/npfweb/NpfWeb/buyCard/buyCardSubmit").build().toUriString();
	HttpPost request = new HttpPost(url);
	Map<String, String> params = new HashMap<String,String>();
	params.put("cardBean.cardValueCode", "04");
	params.put("offerPriceStrHidden", "100.00");
	params.put("offerRateStrHidden", "1");
	params.put("cardBean.cardValue", "100");
	params.put("cardBean.minCardNum", "1");
	params.put("cardBean.maxCardNum", "3");
	params.put("MaxThreshold01", "15");
	params.put("MinThreshold01", "1");
	params.put("MaxThreshold02", "10");
	params.put("MinThreshold02", "1");
	params.put("MaxThreshold03", "6");
	params.put("MinThreshold03", "1");
	params.put("MaxThreshold04", "3");
	params.put("MinThreshold04", "1");
	params.put("commonBean.channelType", "101");
	//params.put("secstate.state", IOUtils.toString(new FileReader("/Users/hdf/Desktop/1.txt")));
	params.put("secstate.state", "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^@^0.0.1");
	params.put("cardBean.buyCardAmount", "1");
	params.put("cardBean.buyCardEmail", email);
	params.put("cardBean.buyCardPhoneNo", mobile);
	params.put("phoneVerifyCode",phoneVerifyCode);
	params.put("invoiceBean.need_invoice", "	0");
	params.put("invoiceBean.invoice_type	", "");
	params.put("invoiceBean.is_mailing", "0");
	params.put("saveflag	", "false");
	params.put("commonBean.provinceCode", "");
	params.put("commonBean.cityCode", "");
	params.put("invoiceBean.invoice_list	", "");
	request.setEntity(getUrlEncodedFormEntity(params));
	request.setHeader("Referer", "https://upay.10010.com/npfweb/npfbuycardweb/buycard_recharge_fill.htm");
	request.setHeader("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36");
	CloseableHttpResponse response = client.execute(request, httpClientContext);
	System.out.println("response:" + JSON.toJSONString(response));
	if (HttpStatus.SC_OK == response.getStatusLine().getStatusCode()) {// 成功
		HttpEntity entity = response.getEntity();
		if (null != entity) {
			String result = EntityUtils.toString(entity, "UTF-8");
			EntityUtils.consume(entity);
			System.out.println("result" + result);
		} else {
			throw new ServiceException("请求无数据返回");
		}
	} else if (response.getStatusLine().getStatusCode() == 302) {
		Header header = response.getFirstHeader("location"); // 跳转的目标地址是在 HTTP-HEAD 中的
		String newuri = header.getValue(); // 这就是跳转后的地址,再向这个地址发出新申请,以便得到跳转后的信息是啥。
		System.out.println("redirect url:" + newuri);
		HttpGet redirectRequest = new HttpGet(newuri);
		CloseableHttpResponse response2 = client.execute(redirectRequest, httpClientContext);
		System.out.println("response2:" + JSON.toJSONString(response2));
	} else {
		throw new ServiceException("请求状态异常失败");
	}
}
 
Example 17
Source Project: keycloak   File: ConcurrentLoginTest.java    License: Apache License 2.0 4 votes vote down vote up
@Override
public void run(int threadIndex, Keycloak keycloak, RealmResource realm) throws Throwable {
    int i = sameClient ? 0 : clientIndex.getAndIncrement();
    OAuthClient oauth1 = oauthClient.get();
    oauth1.clientId("client" + i);
    log.infof("%d [%s]: Accessing login page for %s", threadIndex, Thread.currentThread().getName(), oauth1.getClientId());

    final HttpClientContext templateContext = clientContexts.get(i % clientContexts.size());
    final HttpClientContext context = HttpClientContext.create();
    context.setCookieStore(templateContext.getCookieStore());
    String pageContent = getPageContent(oauth1.getLoginFormUrl(), httpClient, context);
    Assert.assertThat(pageContent, Matchers.containsString("<title>AUTH_RESPONSE</title>"));
    Assert.assertThat(context.getRedirectLocations(), Matchers.notNullValue());
    Assert.assertThat(context.getRedirectLocations(), Matchers.not(Matchers.empty()));
    String currentUrl = context.getRedirectLocations().get(0).toString();

    Map<String, String> query = getQueryFromUrl(currentUrl);
    String code = query.get(OAuth2Constants.CODE);
    String state = query.get(OAuth2Constants.STATE);

    Assert.assertEquals("Invalid state.", state, oauth1.getState());

    AtomicReference<OAuthClient.AccessTokenResponse> accessResRef = new AtomicReference<>();
    totalInvocations.incrementAndGet();

    // obtain access + refresh token via code-to-token flow
    OAuthClient.AccessTokenResponse accessRes = oauth1.doAccessTokenRequest(code, "password");
    Assert.assertEquals("AccessTokenResponse: client: " + oauth1.getClientId() + ", error: '" + accessRes.getError() + "' desc: '" + accessRes.getErrorDescription() + "'",
      200, accessRes.getStatusCode());
    accessResRef.set(accessRes);

    // Refresh access + refresh token using refresh token
    AtomicReference<OAuthClient.AccessTokenResponse> refreshResRef = new AtomicReference<>();

    int invocationIndex = Retry.execute(() -> {
        OAuthClient.AccessTokenResponse refreshRes = oauth1.doRefreshTokenRequest(accessResRef.get().getRefreshToken(), "password");
        Assert.assertEquals("AccessTokenResponse: client: " + oauth1.getClientId() + ", error: '" + refreshRes.getError() + "' desc: '" + refreshRes.getErrorDescription() + "'",
          200, refreshRes.getStatusCode());

        refreshResRef.set(refreshRes);
    }, retryCount, retryDelayMs);

    retryHistogram[invocationIndex].incrementAndGet();

    AccessToken token = JsonSerialization.readValue(new JWSInput(accessResRef.get().getAccessToken()).getContent(), AccessToken.class);
    Assert.assertEquals("Invalid nonce.", token.getNonce(), oauth1.getNonce());

    AccessToken refreshedToken = JsonSerialization.readValue(new JWSInput(refreshResRef.get().getAccessToken()).getContent(), AccessToken.class);
    Assert.assertEquals("Invalid nonce.", refreshedToken.getNonce(), oauth1.getNonce());

    if (userSessionId.get() == null) {
        userSessionId.set(token.getSessionState());
    }
}
 
Example 18
public URLToolsClient() {
	httpclient = HttpClients.custom().setUserAgent(MTGConstants.USER_AGENT).setRedirectStrategy(new LaxRedirectStrategy()).build();
	httpContext = new HttpClientContext();
	cookieStore = new BasicCookieStore();
	httpContext.setCookieStore(cookieStore);
}
 
Example 19
Source Project: httpclientutil   File: TestCookie.java    License: Apache License 2.0 4 votes vote down vote up
public static void main(String[] args) throws HttpProcessException {
		//登录地址
		String loginUrl = "https://passport.csdn.net/account/login";
		//C币查询
		String scoreUrl = "http://my.csdn.net/my/score";
		
		//定义cookie存储
		HttpClientContext context = new HttpClientContext();
		CookieStore cookieStore = new BasicCookieStore();
		context.setCookieStore(cookieStore);
		HttpConfig config =HttpConfig.custom().url(loginUrl).context(context);
		//获取参数
		String loginform = HttpClientUtil.get(config);//可以用.send(config)代替,但是推荐使用明确的get方法
		//System.out.println(loginform);
		System.out.println("获取登录所需参数");
		String lt = regex("\"lt\" value=\"([^\"]*)\"", loginform)[0];
		String execution = regex("\"execution\" value=\"([^\"]*)\"", loginform)[0];
		String _eventId = regex("\"_eventId\" value=\"([^\"]*)\"", loginform)[0];
		
		//组装参数
		Map<String, Object> map = new HashMap<String, Object>();
		map.put("username", "用户名");
		map.put("password", "密码");
		map.put("lt", lt);
		map.put("execution", execution);
		map.put("_eventId", _eventId);

		//发送登录请求
		String result = HttpClientUtil.post(config.map(map));//可以用.send(config.method(HttpMethods.POST).map(map))代替,但是推荐使用明确的post方法
		//System.out.println(result);
		if(result.contains("帐号登录")){//如果有帐号登录,则说明未登录成功
			String errmsg = regex("\"error-message\">([^<]*)<", result)[0];
			System.err.println("登录失败:"+errmsg);
			return;
		}
		System.out.println("----登录成功----");
		
//		//打印参数,可以看到cookie里已经有值了。
//		cookieStore = context.getCookieStore();
//		for (Cookie cookie : cookieStore.getCookies()) {
//			System.out.println(cookie.getName()+"--"+cookie.getValue());
//		}
		
		//访问积分管理页面
		Header[] headers = HttpHeader.custom().userAgent("User-Agent: Mozilla/5.0").build();
		result = HttpClientUtil.post(config.url(scoreUrl).headers(headers));//可以用.send(config.url(scoreUrl).headers(headers))代替,但是推荐使用明确的post方法
		//获取C币
		String score = regex("\"last-img\"><span>([^<]*)<", result)[0];
		System.out.println("您当前有C币:"+score);
		
	}
 
Example 20
Source Project: syncope   File: BasicTest.java    License: Apache License 2.0 4 votes vote down vote up
@Test
public void loginLogout() throws IOException {
    CloseableHttpClient httpclient = HttpClients.createDefault();
    HttpClientContext context = HttpClientContext.create();
    context.setCookieStore(new BasicCookieStore());

    // 1. first GET to fetch execution
    HttpGet get = new HttpGet(getLoginURL());
    get.addHeader(new BasicHeader(HttpHeaders.ACCEPT_LANGUAGE, "en-US,en;q=0.5"));
    CloseableHttpResponse response = httpclient.execute(get, context);
    assertEquals(HttpStatus.SC_OK, response.getStatusLine().getStatusCode());

    String responseBody = EntityUtils.toString(response.getEntity());
    int begin = responseBody.indexOf("name=\"execution\" value=\"");
    assertNotEquals(-1, begin);
    int end = responseBody.indexOf("\"/><input type=\"hidden\" name=\"_eventId\"");
    assertNotEquals(-1, end);

    String execution = responseBody.substring(begin + 24, end);
    assertNotNull(execution);

    // 2. then POST to authenticate
    List<NameValuePair> form = new ArrayList<>();
    form.add(new BasicNameValuePair("_eventId", "submit"));
    form.add(new BasicNameValuePair("execution", execution));
    form.add(new BasicNameValuePair("username", "mrossi"));
    form.add(new BasicNameValuePair("password", "password"));
    form.add(new BasicNameValuePair("geolocation", ""));

    HttpPost post = new HttpPost(getLoginURL());
    post.addHeader(new BasicHeader(HttpHeaders.ACCEPT_LANGUAGE, "en-US,en;q=0.5"));
    post.setEntity(new UrlEncodedFormEntity(form, Consts.UTF_8));
    response = httpclient.execute(post, context);

    // 3. check authentication results
    assertEquals(HttpStatus.SC_OK, response.getStatusLine().getStatusCode());

    Header[] cookie = response.getHeaders("Set-Cookie");
    assertNotNull(cookie);
    assertTrue(cookie.length > 0);
    assertEquals(1, Stream.of(cookie).filter(item -> item.getValue().startsWith("TGC")).count());

    String body = EntityUtils.toString(response.getEntity());
    assertTrue(body.contains("Log In Successful"));
    assertTrue(body.contains("have successfully logged into the Central Authentication Service"));

    // 4. logout
    HttpGet logout = new HttpGet(getLoginURL().replace("login", "logout"));
    logout.addHeader(new BasicHeader(HttpHeaders.ACCEPT_LANGUAGE, "en-US,en;q=0.5"));
    response = httpclient.execute(logout, context);
    assertEquals(HttpStatus.SC_OK, response.getStatusLine().getStatusCode());

    body = EntityUtils.toString(response.getEntity());
    assertTrue(body.contains("Logout successful"));
    assertTrue(body.contains("have successfully logged out of the Central Authentication Service"));
}