org.apache.http.client.protocol.HttpClientContext#setCookieStore ( )源码实例Demo

下面列出了org.apache.http.client.protocol.HttpClientContext#setCookieStore ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: webmagic   文件: HttpUriRequestConverter.java
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;
}
 
源代码2 项目: timer   文件: Session.java
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;
    }
 
源代码3 项目: feiqu-opensource   文件: HttpClientUtil.java
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;
    }
 
源代码4 项目: davmail   文件: HC4DavExchangeSession.java
/**
 * 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;
}
 
源代码5 项目: seezoon-framework-all   文件: UnionService.java
/**
 * 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));
	
}
 
源代码6 项目: seezoon-framework-all   文件: UnionService.java
/**
 * 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("请求状态异常失败");
	}
}
 
源代码7 项目: seezoon-framework-all   文件: UnionService.java
/**
 * 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("请求状态异常失败");
	}
}
 
源代码8 项目: seezoon-framework-all   文件: UnionService.java
/**
 * 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("请求状态异常失败");
	}
}
 
源代码9 项目: keycloak   文件: ConcurrentLoginTest.java
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;
}
 
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();
	}
}
 
源代码11 项目: bobcat   文件: AemAuthCookieFactoryImpl.java
/**
 * 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);
}
 
源代码12 项目: ZhihuSpider   文件: HttpUtil.java
public static boolean deserializeCookie(String path, HttpClientContext httpClientContext) {
    try {
        CookieStore cookieStore = (CookieStore) deserializeMyContext(path);
        httpClientContext.setCookieStore(cookieStore);
    } catch (Exception e) {
        return false;
    }
    return true;
}
 
源代码13 项目: syncope   文件: BasicTest.java
@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());
}
 
源代码14 项目: keycloak   文件: OAuthRedirectUriTest.java
@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();
    }
}
 
源代码15 项目: esigate   文件: VaryMasterTest.java
/**
 * 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"));
}
 
源代码16 项目: seezoon-framework-all   文件: UnionService.java
@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("请求状态异常失败");
	}
}
 
源代码17 项目: keycloak   文件: ConcurrentLoginTest.java
@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());
    }
}
 
源代码18 项目: MtgDesktopCompanion   文件: URLToolsClient.java
public URLToolsClient() {
	httpclient = HttpClients.custom().setUserAgent(MTGConstants.USER_AGENT).setRedirectStrategy(new LaxRedirectStrategy()).build();
	httpContext = new HttpClientContext();
	cookieStore = new BasicCookieStore();
	httpContext.setCookieStore(cookieStore);
}
 
源代码19 项目: httpclientutil   文件: TestCookie.java
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);
		
	}
 
源代码20 项目: syncope   文件: BasicTest.java
@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"));
}