Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 22

Discussione: Usare un proxy

  1. #1

    Usare un proxy

    Devo realizzare la seguente applicazione:

    un qualunque navigatore deve poter scaricare dei file pdf tramite un proxy.
    Mi servirebbe, oltre che dei consigli su come fare, anche degli script php per realizzare ciò.

    Grazie

  2. #2
    Mi spiego meglio.
    Su un server ( che chiamo A ) ho dei file pdf.
    Un cliente può scaricare questi file pdf ma non voglio che li scarichi direttamente dal server A ma voglio che li scarichi da un'altra macchina ( che chiamo B ).
    Quindi in B devo avere uno "script php" che sia in grado di leggere sul server A il file pdf richiesto dal cliente e lo invii al cliente stesso. Il cliente non deve capire nulla e non deve poter possibilmente conoscere l'IP del server A.

    Come faccio.

  3. #3
    Utente di HTML.it L'avatar di luke83
    Registrato dal
    Jul 2000
    Messaggi
    1,217
    La butto lì... il client chiede a B il file, B prende da A il file e lo copia in una cartella temp, cache come vuoi te e lo passa al client, alle prossime richieste B chiede ad A se il file è aggiornato o meno, nel qual caso ne fa un refresh della copia locale, in caso contrario serve al client la sua copia locale...

    Questo è quello che di solito fa un proxy

    ..::Luca::..
    » "se nn riesci a venirene a capo.. usa il tasto INVIO" © 2005 Luke83
    » "letta la documentazione, spazio all'immaginazione.." © 2006 Luke83
    [frasi random] - [Lucopedia] - [laFetta]

  4. #4
    Avevo già pensato ad una soluzione del genere ma vorrei che B non copi il file pdf preso dal server A su una cartella tmp ma che direttamente ( man mano che lo legge da A ) lo invii al client.

    Per realizzare la soluzione che mi avevi proposto hai qualche script pronto ?

  5. #5
    Utente di HTML.it L'avatar di luke83
    Registrato dal
    Jul 2000
    Messaggi
    1,217
    certo che no

    allora:

    b.php?file=pippo
    Codice PHP:
    $a "url_di_A";
    $b "url_di_B";// cartella tmp
    $f=$_GET["file"];
    copy($a.$f,$b.$f);
    // file al client
    unlink($b.$f); 
    adesso sì

    inutile dire che devi avere da manuale abilitati gli fopen wrappers
    ..::Luca::..
    » "se nn riesci a venirene a capo.. usa il tasto INVIO" © 2005 Luke83
    » "letta la documentazione, spazio all'immaginazione.." © 2006 Luke83
    [frasi random] - [Lucopedia] - [laFetta]

  6. #6
    Ti puoi spiegare meglio ?
    Questo codice ( grazie mille per l'aiuto ) deve andare nella macchina B ( cioè nel proxy ) ?.

    Puoi farmi un esempio con dati reali ?

  7. #7
    Utente di HTML.it L'avatar di luke83
    Registrato dal
    Jul 2000
    Messaggi
    1,217
    ma triple h sarebbe quel tizio del wrestling?
    nel caso ti saluta mio fratello..

    b.php è il nome del file del mio scriptino che va piazzato sulla macchina B per smistare le richieste, in pratica un demone proxy...

    ora il tizio fa una richesta del tipo

    http://url_B/b.php?file=doc.pdf

    da qui in poi lavora lo script php che recupera il file se lo passa sul server e lo manda al client (questo devi vedere tu come è la riga commentata..)

    infine il proxy tediato da file su disco elimina il file (lo hai scelto tu ma nn mi sembra una cosa buona [1000 richieste sono 1000 trasferimenti => 1000*n ritardi di nodo con n numero di nodi tra i server] e tutto è ok per file da un k ma come la metti nome già se arrivi ad un paio di mega?)

    ..::Luca::..
    » "se nn riesci a venirene a capo.. usa il tasto INVIO" © 2005 Luke83
    » "letta la documentazione, spazio all'immaginazione.." © 2006 Luke83
    [frasi random] - [Lucopedia] - [laFetta]

  8. #8
    Grazie mille. Adesso provo.
    Mi hai convinto che non conviene cancellarlo ma effettuare un aggiornamento nel caso in cui il file sul server A è stato modificato.
    Ma a come effettuare l'aggiornamento ci penserò dopo.

    Grazie. Vado a provare lo script.

    PS. Triple h è un lottare di wrestling.

  9. #9
    Utente di HTML.it L'avatar di luke83
    Registrato dal
    Jul 2000
    Messaggi
    1,217
    w rey....

    per l'aggiornamento devi semplicemente chiedere ad A l'ultimo aggiornamento del file in oggetto, se scopri che è più recente del tuo lo copi altrimenti salti semplicemente l'istruzione copy (inutile dire devi eliminare anche l'unlink definitivamente):

    Codice PHP:
    $a "url_di_A";
    $b "url_di_B";// cartella tmp
    $f=$_GET["file"];
    if (->
    file più recente su A<-)
       
    copy($a.$f,$b.$f);
    // file al client 
    ..::Luca::..
    » "se nn riesci a venirene a capo.. usa il tasto INVIO" © 2005 Luke83
    » "letta la documentazione, spazio all'immaginazione.." © 2006 Luke83
    [frasi random] - [Lucopedia] - [laFetta]

  10. #10
    Ok.
    Sai qual'è l'istruzione per controllare se il file è più recente ?

    Se mi risp W REY allora ti dico W BATISTA !!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.