Domanda

Ho visto alcuni programmi (ad es. Charles Web Developer Proxy) in grado di modificare le impostazioni proxy di Firefox. La sequenza è:

  1. Firefox è in esecuzione, con le impostazioni proxy degli utenti.
  2. L'utente avvia l'applicazione esterna di terzi, che
  3. modifica le impostazioni proxy di Firefox, quindi
  4. l'utente esce dal programma di terze parti e,
  5. Firefox riprende a funzionare con le sue impostazioni proxy originali.

Supponendo che l'applicazione esterna ricordi le vecchie impostazioni proxy e le ripristini all'uscita, come posso leggere e scrivere le impostazioni proxy di Firefox? Ho provato a cercare su Google tramite il doco di Firefox, ma non ho ancora avuto fortuna.

Opzioni considerate:

  • Scrivi un nuovo file di configurazione delle preferenze utente e avvia una nuova istanza del browser. Funzionerebbe, ma non del tutto, Charles ad esempio può modificare le impostazioni di un browser già in esecuzione e ripristinarle senza riavviare.
  • Scrivi un plug-in. Potrebbe scrivere un plug-in di Firefox che offriva una sorta di IPC all'esterno e quindi gestisse l'impostazione delle preferenze di Firefox stesso. In effetti, penso che questo potrebbe essere l'unico modo. Disabilitare il plug-in Firefox di Charles sembra disabilitare la sua capacità di modificare le preferenze al volo.

Risorse possibili

È stato utile?

Soluzione

Da quanto ho potuto vedere dalla documentazione, Charles ha un'estensione di Firefox corrispondente che installa / utilizza. Questo può essere il modo in cui può ricaricare al volo le informazioni del proxy.

Le informazioni proxy sono memorizzate nel prefs.js del tuo profilo, ma non possono essere ricaricate al volo. Firefox lo legge all'avvio e gli scrive quando si spegne e non si carica da esso in mezzo. Inoltre, se Firefox è in esecuzione durante la modifica di prefs.js, le modifiche verranno sovrascritte.

Ho pensato che potresti essere in grado di fare qualcosa con un file PAC, ma dopo aver scavato un po ', ho scoperto che non sembra nemmeno ricaricare al volo. Dovresti riavviare per ricaricare eventuali modifiche alle impostazioni.

Altri suggerimenti

Potresti voler vedere come Fiddler fa questo (www.fiddler2.com). La cartella C: \ program files \ fiddler2 \ fiddlerhook \ ha un'estensione di Firefox che mostra come si può fare.

Tutte le impostazioni proxy per Firefox, sulla mia macchina, sono memorizzate in C: \ DOCUME ~ 1 \ BRUCEX ~ 1 \ APPLIC ~ 1 \ Mozilla \ Firefox \ Profiles \ licga1pg.default \ prefs.js. L'intestazione in quel file dice

# Mozilla User Preferences

/* Do not edit this file.
 *
 * If you make changes to this file while the application is running,
 * the changes will be overwritten when the application exits.
 *
 * To make a manual change to preferences, you can visit the URL about:config
 * For more information, see http://www.mozilla.org/unix/customizing.html#prefs
 */

Il collegamento a customizing.html è qui . Quindi in teoria potresti modificare alcuni o tutti questi

user_pref("network.proxy.backup.ftp", "squid.home-server");
user_pref("network.proxy.backup.ftp_port", 3128);
user_pref("network.proxy.backup.gopher", "squid.home-server");
user_pref("network.proxy.backup.gopher_port", 3128);
user_pref("network.proxy.backup.socks", "squid.home-server");
user_pref("network.proxy.backup.socks_port", 3128);
user_pref("network.proxy.backup.ssl", "squid.home-server");
user_pref("network.proxy.backup.ssl_port", 3128);
user_pref("network.proxy.ftp", "squid.home-server");
user_pref("network.proxy.ftp_port", 3128);
user_pref("network.proxy.gopher", "squid.home-server");
user_pref("network.proxy.gopher_port", 3128);
user_pref("network.proxy.http", "squid.home-server");
user_pref("network.proxy.http_port", 3128);
user_pref("network.proxy.no_proxies_on", "localhost, 127.0.0.1, *.my-domain");
user_pref("network.proxy.share_proxy_settings", true);
user_pref("network.proxy.socks", "squid.home-server");
user_pref("network.proxy.socks_port", 3128);
user_pref("network.proxy.ssl", "squid.home-server");
user_pref("network.proxy.ssl_port", 3128);
user_pref("network.proxy.type", 1);

anche se c'è il problema di far rileggere Firefox.

Se dai un'occhiata ad alcuni dei link nelle risposte a la mia domanda precedente potresti trovare un codice che puoi usare per modificare le impostazioni del proxy come richiesto.

Esiste una connessione ActiveX a Firefox tramite Controllo ActiveX per l'hosting di plug-in Netscape in IE ma ho i miei dubbi sul fatto che possa esserti di aiuto. Vale comunque la pena dare un'occhiata.

Anche io stavo affrontando il problema delle impostazioni di connessione fatte per usare il proxy manuale non si rifletteva quando stavo lanciando il browser firefox da un'applicazione di terze parti (sto lavorando al selenio)

Mi sono stancato di aggiungere il file users.js in C: \ Programmi \ Mozilla Firefox \ defaults \ profile

con le modifiche come suggerito sopra (aggiungendo le istruzioni user_pref), ma in qualche modo il mio browser firefox non stava rilevando le modifiche menzionate. Stessa cosa anche sul mio prefs.js nella stessa posizione (in realtà il mio prefs.js è vuoto !!)

Ma ho un altro modo di farlo ... in C: \ Programmi \ Mozilla Firefox \ greprefs \ all.js, fai le stesse modifiche suggerite sopra pref (" network.proxy.type " ;, 0); a 1 pref (" network.proxy.http " ;, " "); a localhost pref (" network.proxy.http_port " ;, 0); a 4444

e le cose hanno iniziato a funzionare .. Ma non sono sicuro se questo è il modo giusto di farlo, poiché stiamo cambiando un file nella directory di installazione .. A proposito, è un bug con Firefox ??

Apprezzo i tuoi commenti

Ho provato a scaricare selenium rc 1.0.3 e ho usato * chrome /usr/lib/firefox-3.0.10/firefox-bin seguito dall'URL di AUT. Ha funzionato. Presumibilmente hanno rimosso la * modalità personalizzata di a partire dalla 1.0.3 (la mia ipotesi), perché su, decomprimendo il file selenium-server.jar, non sono riuscito a trovare alcun file custom.class rispetto alle versioni precedenti in cui era presente un file custom.class nel selenium-server file .jar.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top