@Override
  public synchronized String getScriptContent() throws IOException {
    if (this.scriptContent == null || this.expireAtMillis > 0
        && this.expireAtMillis < System.currentTimeMillis()) {
      ProxySelector old = ProxySelector.getDefault();
      try {
        // Reset it again with next download we should get a new expire info
        this.expireAtMillis = 0;
        ProxySelector.setDefault(new ProxySelector() {
          @Override
          public List<Proxy> select(URI uri) {
            return Arrays.asList(Proxy.NO_PROXY);
          }
          @Override
          public void connectFailed(URI uri, SocketAddress sa, IOException ioe) {
          }
        });
        this.scriptContent = readPacFileContent(this.scriptUrl);
      } finally {
        ProxySelector.setDefault(old);
      }
    }
    return this.scriptContent;
  }
@Override
  public synchronized String getScriptContent() throws IOException {
    if (this.scriptContent == null || this.expireAtMillis > 0
        && this.expireAtMillis < System.currentTimeMillis()) {
      ProxySelector old = ProxySelector.getDefault();
      try {
        
        this.expireAtMillis = 0;
        ProxySelector.setDefault(new ProxySelector() {
          @Override
          public List<Proxy> select(URI uri) {
            return Arrays.asList(Proxy.NO_PROXY);
          }
          @Override
          public void connectFailed(URI uri, SocketAddress sa, IOException ioe) {
          }
        });
        this.scriptContent = readPacFileContent(this.scriptUrl);
      } finally {
        ProxySelector.setDefault(old);
      }
    }
    return this.scriptContent;
  }
@ Override public synchronized String getScriptContent ( ) throws IOException { if ( this . scriptContent == null || this . expireAtMillis > 0 && this . expireAtMillis < System . currentTimeMillis ( ) ) { ProxySelector old = ProxySelector . getDefault ( ) ; try { // Reset it again with next download we should get a new expire info this . expireAtMillis = 0 ; ProxySelector . setDefault ( new ProxySelector ( ) { @ Override public List < Proxy > select ( URI uri ) { return Arrays . asList ( Proxy . NO_PROXY ) ; } @ Override public void connectFailed ( URI uri , SocketAddress sa , IOException ioe ) { } } ) ; this . scriptContent = readPacFileContent ( this . scriptUrl ) ; } finally { ProxySelector . setDefault ( old ) ; } } return this . scriptContent ; }
***********************************************************************
getScriptContent

@see com.btr.proxy.selector.pac.PacScriptSource#getScriptContent()
**********************************************************************
*********************************************************************** getScriptContent