private boolean readProperties(Properties props) {
      
      //Use Proxy
      if("true".equals(props.getProperty(USE_PROXY))) {
         useProxy_flag = true;
      }
      else {
         useProxy_flag = false;
      }
            
      //HTTP Settings
      httpProxyHost = props.getProperty(HTTP_PROXY_HOST);
      String p = props.getProperty(HTTP_PROXY_PORT);
      if(p != null) {
         httpProxyPort = Integer.parseInt(p);
      }
      else httpProxyPort = -1;
      
      String nonProxyHosts = props.getProperty(HTTP_NON_PROXY_HOSTS);
      if(nonProxyHosts != null && "".equals(nonProxyHosts)) {
         StringTokenizer parser = new StringTokenizer(nonProxyHosts, "|");
         while(parser.hasMoreTokens()) {
            httpNonProxyHosts.add(parser.nextToken());
         }
      }
      
      //Socks Settings
      socksProxyHost = props.getProperty(SOCKS_PROXY_HOST);
      p = props.getProperty(SOCKS_PROXY_PORT);
      if(p != null) {
         socksProxyPort = Integer.parseInt(p);
      }
      else socksProxyPort = -1;
      
      socksProxyUsername = props.getProperty(SOCKS_USERNAME);
      socksProxyPassword = props.getProperty(SOCKS_PASSWORD);
      
      //If there are settings for proxy in these properties return true
      if(httpProxyHost != null || socksProxyHost != null) {
         return true;
      }
      else {
         return false;
      }
   }