2011-01-27 9 views
15

Sto cercando uno strumento che consenta ai non programmatori di testare i file su un server live.Intercetta e utilizza file locali nelle richieste http

Ad esempio, è possibile modificare un'immagine sul proprio computer, ricaricare una pagina Web, quindi vedere immediatamente i risultati del proprio lavoro.

Ho provato a trovare uno strumento per questo, perché sembra abbastanza ovvio che qualcuno ci abbia pensato, ma molti software che vedo non si adattano perfettamente. Uno strumento chiamato Fiddler lo fa (lo chiamano automaticamente) ma è solo per Windows. Potrei cambiare il file hosts per reindirizzare su un'istanza locale di nginx o qualcosa del genere, ma sembra difficile da mantenere quando tutto ciò che voglio veramente è un semplice strumento che assomiglierà a questo ...

http://someserver.com/css/ (. *) - >/home/utente/localcss/$ 1

Qualcuno ha qualche raccomandazione?

Edit: Redirect chiarimento

+0

Versione specifica di Fiddler della stessa domanda https://stackoverflow.com/q/17033990/10245 –

risposta

-10

In realtà non si può fare questo perché i browser non consentono file su http: // per accedere al file sulla macchina locale (si pensi un attimo su di esso ... Cosa accadrebbe se, ad esempio, una pagina Web dannosa carica alcuni file privati ​​dal tuo computer?).
Alcuni browser (ad esempio Safari) consentono file su file: // per accedere ad altri file: // file, altri no, ma nessun browser consente a http: // di accedere al file: //.

Firefox ha una funzionalità denominata "Script firmati", che sono script firmati digitalmente con un certificato attendibile. Possono chiedere all'utente di concedere loro l'accesso al disco rigido locale. Guarda questo: http://www.mozilla.org/projects/security/components/signed-scripts.html

Intendi il Fiddler Web Proxy (www.fiddler2.com)? Esiste un'alternativa commerciale basata su Java denominata Charles Web Proxy che può soddisfare le tue esigenze.

+0

Non sto cercando di utilizzare il file: // URL in un browser, sto cercando una specie di proxy che mi permetterà di sostituire i file in silenzio con le versioni locali. Ho modificato la mia domanda per chiarezza. Charles è cost-proibitivo, sfortunatamente. – max

+0

Ho frainteso la tua domanda, mi dispiace. Ad ogni modo, puoi installare qualcosa come LAMP, WAMP o MAMP, mettere i file da testare nella directory htdocs e poi chiamarli come http: // localhost/ – MrMagic

20

Fiddler ha questa funzione; basta fare clic sulla scheda AutoResponder e mappare gli URL ai file locali. Migliaia di persone lo fanno ogni giorno.

Vedi anche il video # 5 qui: http://www.fiddlerbook.com/fiddler/help/video/default.asp

+2

Charles funziona meglio per me come sono su Linux. Fiddler funziona bene per Windows ed è gratuito! – ghostCoder

+0

Funziona per pagine/file serviti tramite https? Non riesco a generare la regola corretta per la pagina che voglio modificare copiando l'URL per la regola, che inizia con https – gogogadgetinternet

+0

Ovviamente funziona per HTTPS, così come FTP e HTTP. Pubblica la tua domanda sul forum di Fiddler o apri una nuova domanda con i dettagli se hai bisogno di aiuto. – EricLaw

1

E 'stato un po' che ho fatto questa domanda e io ho una buona tecnica che non è stato suggerito.

PAC files sono supportati da tutti i principali browser e consentono di scrivere uno script in grado di reindirizzare qualsiasi richiesta individuale a un server proxy. Quindi, ad esempio, il server proxy potrebbe servire un file PAC, fare in modo che il file PAC reindirizzi gli URL autorizzati al server proxy e restituisca le versioni locali di questi file. Può persino supportare HTTPS.

Attenzione a un gotcha - Internet Explorer. È utile "memorizzare" in modo errato i risultati di questo script, in modo tale che se un URL su un dominio è proxy, tutti gli URL di quel dominio saranno proxy. This feature can be disabled, tuttavia.

+0

Se l'utente è su Windows (necessario per utilizzare IE), è sufficiente eseguire Fiddler. – EricLaw

2

soluzione di Max PAC era un salvavita in modo da sto fornire ulteriori dettagli (non può ancora fino votazione)

Per utilizzare una versione locale di, diciamo, file CSS, creare un 'proxy di file.pac ', che contiene questa funzione:

function FindProxyForURL(url, host) 
{ 
    // use regex to match requests ending with '.css' 
    // and redirect them to localhost 
    var regexpr = /.**\.css/; 
    if(regexpr.test(url)) 
    { 
     return "PROXY localhost"; 
    } 

    // Or else connect directly: 
    return "DIRECT"; 
} 

Salvare "proxy.pac" e indirizzare il browser su questo file. In Firefox questo è in Opzioni> Avanzate> Connessione> Impostazioni> URL di configurazione proxy automatica

Per la migliore pratica, aggiungi anche un tipo MIME al tuo server web: mappa '.pac' per digitare 'application/x-ns-proxy -autoconfig'.

Tutte le richieste di file .css verranno ora indirizzate a localhost. Non dimenticare di verificare che la struttura del file sia la stessa sul server proxy.

Nel caso dei CSS, potrebbe essere più semplice sovrascrivere i CSS utilizzando un chrome locale. Ad esempio in Firefox, chrome/userContent.css. Vedi http://kb.mozillazine.org/UserContent.css

Problemi correlati