Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- RestTemplate restTemplate = new RestTemplate();
- HttpHeaders headers = new HttpHeaders();
- headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
- LinkedMultiValueMap<String, Object> mvm = new LinkedMultiValueMap<String, Object>();
- mvm.add("LoginForm_Login", "login");
- mvm.add("LoginForm_Password", "password");
- ResponseEntity<String> result = restTemplate.exchange(uriDWLogin, HttpMethod.POST, requestEntity, String.class);
- //first request
- RestTemplate template = new RestTemplate();
- ResponseEntity<String> forEntity = template.getForEntity("http://google.bg", String.class);
- forEntity.getHeaders().get("Set-Cookie").stream().forEach(System.out::println);
- //subsequent request
- RestTemplate restTemplate = new RestTemplate();
- HttpHeaders headers = new HttpHeaders();
- headers.set("Cookie",cookies.stream().collect(Collectors.joining(";")));
- HttpEntity<String> entity = new HttpEntity<String>(headers);
- restTemplate.exchange("http://url", HttpMethod.POST, entity, String.class);
- public class StaticRestTemplate {
- public volatile static RestTemplate rest = new RestTemplate();
- public static volatile String jsessionid = "";
- // This way, I can test on local or server just by changing one URL.
- public static volatile String baseURL = "http://192.168.178.60:8080/";
- }
- public static RestTemplate rest = new RestTemplate();
- rest.getMessageConverters().add(new MappingJackson2HttpMessageConverter());
- StaticRestTemplate.jsessionid = rest.execute(StaticRestTemplate.baseURL+"j_spring_security_check", HttpMethod.POST,
- new RequestCallback() {
- @Override
- public void doWithRequest(ClientHttpRequest request) throws IOException {
- request.getBody().write(("j_username=" + email + "&j_password=" + password).getBytes());
- }
- }, new ResponseExtractor<String>() {
- @Override
- public String extractData(ClientHttpResponse response) throws IOException {
- List<String> cookies = response.getHeaders().get("Cookie");
- if (cookies == null) {
- cookies = response.getHeaders().get("Set-Cookie");
- }
- String cookie = cookies.get(cookies.size() - 1);
- int start = cookie.indexOf('=');
- int end = cookie.indexOf(';');
- return cookie.substring(start + 1, end);
- }
- });
- return null;
- }
- rest.getMessageConverters().add(new MappingJackson2HttpMessageConverter());
- HttpHeaders requestHeaders = new HttpHeaders();
- // This is where I add the cookie value
- requestHeaders.add("Cookie", "JSESSIONID=" + StaticRestTemplate.jsessionid);
- HttpEntity<String> requestEntity = new HttpEntity<>(requestHeaders);
- HttpEntity<String> rssResponse = rest.exchange(
- StaticRestTemplate.baseURL+"dashboard",
- HttpMethod.GET,
- requestEntity,
- String.class);
- StaticRestTemplate.replyString = rssResponse.getBody();
- return StaticRestTemplate.replyString;
- HttpClient httpClient = HttpClientBuilder.create()
- .disableCookieManagement()
- .useSystemProperties()
- .build();
- factory.setHttpClient(httpClient);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement