Salve a tutti!
Devo fare un web browser in java che permetta all'utente di andare in rete passando attraverso uno (o forse più) proxy. Allora ho cercato in internet trovando web browser già pronti e ho aggiunto le seguenti righe per passare attraverso un proxy:
System.getProperties().put( "proxySet", "true" );
System.getProperties().put( "proxyHost", "123.123.123.123" );
System.getProperties().put( "proxyPort", "8080" );
Ho verificato su un sito che l'indirizzo fosse davvero quello del proxy e non quello del pc ed infatti così è.
Il problema è che se vado in siti contenenti javascript o con flash, il browser avvisa che il sito necessita di javascript o flash e non mi permette di accedere al sito vero e proprio.
La domanda quindi è: come faccio a visualizzare questi tipi d contenuti?
Vi posto il codice del browser, tanto è breve:
La classe LinkFollower:codice:import javax.swing.text.*; import javax.swing.*; import java.io.*; import java.awt.*; public class SimpleWebBrowser { public static void main(String[] args) { //Enable the properties used for proxy support System.getProperties().put( "proxySet", "true" ); System.getProperties().put( "proxyHost", "123.123.123.123" ); System.getProperties().put( "proxyPort", "8080" ); // get the first URL String initialPage = "http://www.repubblica.it/"; if (args.length > 0) initialPage = args[0]; // set up the editor pane JEditorPane jep = new JEditorPane(); jep.setEditable(false); jep.addHyperlinkListener(new LinkFollower(jep)); try { jep.setPage(initialPage); } catch (IOException e) { System.err.println("Usage: java SimpleWebBrowser url"); System.err.println(e); System.exit(-1); } // set up the window JScrollPane scrollPane = new JScrollPane(jep); JFrame f = new JFrame("Simple Web Browser"); f.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); f.getContentPane().add(scrollPane); f.setSize(512, 342); f.show(); } }
codice:import javax.swing.*; import javax.swing.event.*; public class LinkFollower implements HyperlinkListener { private JEditorPane pane; public LinkFollower(JEditorPane pane) { this.pane = pane; } public void hyperlinkUpdate(HyperlinkEvent evt) { if (evt.getEventType() == HyperlinkEvent.EventType.ACTIVATED) { try { pane.setPage(evt.getURL()); } catch (Exception e) { } } } }

Rispondi quotando
