private RailyatriCookies getRailyatriCookies() { String railyatriUrl = TRAIN_ENQUIRY_SERVER; DefaultHttpClient httpClient = new DefaultHttpClient(); HttpGet httpGet = new HttpGet(railyatriUrl); RailyatriCookies railyatriCookies = null; try { HttpResponse httpResponse = httpClient.execute(httpGet); if (httpResponse.getStatusLine().getStatusCode() == 200) { railyatriCookies = new RailyatriCookies(); railyatriCookies.setCookieSpecRegistry(httpClient.getCookieSpecs()); railyatriCookies.setCookieStore(httpClient.getCookieStore()); // For debugging only List<Cookie> cookies = railyatriCookies.getCookieStore().getCookies(); if (cookies.isEmpty()) { System.out.println("No Cookies!!!"); } else { for (int i = 0; i < cookies.size(); i++) { System.out.println("-" + cookies.get(i).toString()); } } } } catch (ClientProtocolException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } return railyatriCookies; }
private String fetchData(String url) { StringBuilder data = new StringBuilder(); boolean isSuccess = false; HttpClient stageClient = new DefaultHttpClient(); HttpGet httpGet = new HttpGet(url); RailyatriCookies railyatriCookies = getRailyatriCookies(); if (railyatriCookies != null) { ((DefaultHttpClient) stageClient).setCookieSpecs(railyatriCookies.getCookieSpecRegistry()); ((DefaultHttpClient) stageClient).setCookieStore(railyatriCookies.getCookieStore()); } httpGet.setHeader("Accept", "application/json"); httpGet.setHeader( "User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22"); httpGet.setHeader("Accept-Encoding", "gzip,deflate,sdch"); try { HttpResponse response = stageClient.execute(httpGet); StatusLine statusLine = response.getStatusLine(); int statusCode = statusLine.getStatusCode(); if (statusCode == 200) { HttpEntity entity = response.getEntity(); InputStream inputStream = entity.getContent(); BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream)); String line; while ((line = bufferedReader.readLine()) != null) { data.append(line); isSuccess = true; } } else { Log.e(tag, "Failed to access: " + url + ". status code = " + statusCode); isSuccess = false; } } catch (ClientProtocolException clientProtocolException) { clientProtocolException.printStackTrace(); Log.e(tag, clientProtocolException.getMessage()); isSuccess = false; } catch (IOException ioException) { ioException.printStackTrace(); Log.e(tag, ioException.getMessage()); isSuccess = false; } if (isSuccess) { return data.toString(); } else { return null; } }