コード例 #1
0
  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;
  }
コード例 #2
0
  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;
    }
  }