Advertisement
Guest User

Untitled

a guest
Sep 25th, 2017
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.50 KB | None | 0 0
  1. RestTemplate restTemplate = new RestTemplate();
  2.  
  3. HttpHeaders headers = new HttpHeaders();
  4. headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
  5.  
  6. LinkedMultiValueMap<String, Object> mvm = new LinkedMultiValueMap<String, Object>();
  7. mvm.add("LoginForm_Login", "login");
  8. mvm.add("LoginForm_Password", "password");
  9.  
  10. ResponseEntity<String> result = restTemplate.exchange(uriDWLogin, HttpMethod.POST, requestEntity, String.class);
  11.  
  12. //first request
  13. RestTemplate template = new RestTemplate();
  14. ResponseEntity<String> forEntity = template.getForEntity("http://google.bg", String.class);
  15. forEntity.getHeaders().get("Set-Cookie").stream().forEach(System.out::println);
  16.  
  17. //subsequent request
  18. RestTemplate restTemplate = new RestTemplate();
  19. HttpHeaders headers = new HttpHeaders();
  20. headers.set("Cookie",cookies.stream().collect(Collectors.joining(";")));
  21. HttpEntity<String> entity = new HttpEntity<String>(headers);
  22. restTemplate.exchange("http://url", HttpMethod.POST, entity, String.class);
  23.  
  24. public class StaticRestTemplate {
  25.  
  26. public volatile static RestTemplate rest = new RestTemplate();
  27. public static volatile String jsessionid = "";
  28. // This way, I can test on local or server just by changing one URL.
  29. public static volatile String baseURL = "http://192.168.178.60:8080/";
  30. }
  31.  
  32. public static RestTemplate rest = new RestTemplate();
  33. rest.getMessageConverters().add(new MappingJackson2HttpMessageConverter());
  34. StaticRestTemplate.jsessionid = rest.execute(StaticRestTemplate.baseURL+"j_spring_security_check", HttpMethod.POST,
  35. new RequestCallback() {
  36. @Override
  37. public void doWithRequest(ClientHttpRequest request) throws IOException {
  38. request.getBody().write(("j_username=" + email + "&j_password=" + password).getBytes());
  39. }
  40. }, new ResponseExtractor<String>() {
  41. @Override
  42. public String extractData(ClientHttpResponse response) throws IOException {
  43. List<String> cookies = response.getHeaders().get("Cookie");
  44. if (cookies == null) {
  45. cookies = response.getHeaders().get("Set-Cookie");
  46. }
  47. String cookie = cookies.get(cookies.size() - 1);
  48. int start = cookie.indexOf('=');
  49. int end = cookie.indexOf(';');
  50.  
  51. return cookie.substring(start + 1, end);
  52. }
  53. });
  54. return null;
  55.  
  56. }
  57.  
  58. rest.getMessageConverters().add(new MappingJackson2HttpMessageConverter());
  59. HttpHeaders requestHeaders = new HttpHeaders();
  60. // This is where I add the cookie value
  61. requestHeaders.add("Cookie", "JSESSIONID=" + StaticRestTemplate.jsessionid);
  62. HttpEntity<String> requestEntity = new HttpEntity<>(requestHeaders);
  63.  
  64. HttpEntity<String> rssResponse = rest.exchange(
  65. StaticRestTemplate.baseURL+"dashboard",
  66. HttpMethod.GET,
  67. requestEntity,
  68. String.class);
  69. StaticRestTemplate.replyString = rssResponse.getBody();
  70. return StaticRestTemplate.replyString;
  71.  
  72. HttpClient httpClient = HttpClientBuilder.create()
  73. .disableCookieManagement()
  74. .useSystemProperties()
  75. .build();
  76. factory.setHttpClient(httpClient);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement