2013-03-22 5 views
5

मेरे ब्राउज़र (वेबव्यू) एक HTML पृष्ठस्वतः पता प्रॉक्सी - JavaFX - वेबव्यू

FILEJAVA.class.getResource ("FILEHTML.html") के साथ शुरू होता है। ToExternalForm()

जब भी मैं गूगल का उपयोग, मैं जानना चाहता हूँ कि ब्राउज़र की जांच, नेटवर्क प्रॉक्सी है अगर (proxy'm काम कर मैनुअल)

ताकि ब्राउज़र एक संवाद उपयोगकर्ता नाम दर्ज करने से पता चलता चाहते हैं और पारण शब्द।

उत्तर

2

आप प्रॉक्सी जांचने के लिए ProxySelector का उपयोग कर सकते हैं। अगले उदाहरण देखें:

public class DetectProxy extends Application { 

    private Pane root; 

    @Override 
    public void start(final Stage stage) throws URISyntaxException { 
     root = new VBox(); 

     List<Proxy> proxies = ProxySelector.getDefault().select(new URI("http://google.com")); 
     final Proxy proxy = proxies.get(0); // ignoring multiple proxies to simplify code snippet 
     if (proxy.type() != Proxy.Type.DIRECT) { 
      // you can change that to dialog using separate Stage 
      final TextField login = new TextField("login"); 
      final PasswordField pwd = new PasswordField(); 
      Button btn = new Button("Submit"); 
      btn.setOnAction(new EventHandler<ActionEvent>() { 
       @Override 
       public void handle(ActionEvent t) { 
        System.setProperty("http.proxyUser", login.getText()); 
        System.setProperty("http.proxyPassword", pwd.getText()); 
        showWebView(); 
       } 
      }); 
      root.getChildren().addAll(login, pwd, btn); 
     } else { 
      showWebView(); 
     } 

     stage.setScene(new Scene(root, 600, 600)); 
     stage.show(); 
    } 

    private void showWebView() { 
     root.getChildren().clear(); 
     WebView webView = new WebView(); 

     final WebEngine webEngine = webView.getEngine(); 
     root.getChildren().addAll(webView); 
     webEngine.load("http://google.com"); 

    } 

    public static void main(String[] args) { 
     launch(); 
    } 
} 

authentification, कुछ मामलों में अतिरिक्त कोड की आवश्यकता हो सकती जानकारी के लिए Authenticated HTTP proxy with Java देखते हैं।