Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di bonobo
    Registrato dal
    Sep 2008
    Messaggi
    103

    [JAVA]java e web concetti base

    buonasera,scusate l'ignoranza..
    ho buone basi di java,ma non le ho mai applicate al web..
    e adesso ne ho bisogno,devo realizzare un webproxy!
    vorrei solo avere un parere da voi..se a livello concettuale ci sono o sbaglio qualcosa..
    secondo me ho bisogno di una classe,che funzioni da server,cioè creo una socket in ascolto su una determinata porta..una classe che funzioni da client,per spedire i dati che passano dal web proxy e non farli "morire li"..
    e poi di vari metodi come url connection,per leggere il flusso dati che passa nel mio proxy..
    ci sono?:master:
    o non ho capito niente??

    scusate se ho sbagliato o ho abusato di qualche termine...

    grazie a tutti..

  2. #2
    Utente di HTML.it L'avatar di bonobo
    Registrato dal
    Sep 2008
    Messaggi
    103
    up!
    non mi sembra di aver fatto una domanda cosi difficile..
    daiiiii...

  3. #3
    Eccoti un semplice esempio di proxy fatto con Java (è bastato googlare un pò )

    Codice PHP:
    import java.io.*;
    import java.net.*;

    public class 
    SimpleProxyServer {
      public static 
    void main(String[] argsthrows IOException {
        try {
          
    String host "your Proxy Server";
          
    int remoteport 100;
          
    int localport 111;
          
    // Print a start-up message
          
    System.out.println("Starting proxy for " host ":" remoteport
              
    " on port " localport);
          
    // And start running the server
          
    runServer(hostremoteportlocalport); // never returns
        
    } catch (Exception e) {
          
    System.err.println(e);
        }
      }

      
    /**
       * runs a single-threaded proxy server on
       * the specified local port. It never returns.
       */
      
    public static void runServer(String hostint remoteportint localport)
          
    throws IOException {
        
    // Create a ServerSocket to listen for connections with
        
    ServerSocket ss = new ServerSocket(localport);

        final 
    byte[] request = new byte[1024];
        
    byte[] reply = new byte[4096];

        while (
    true) {
          
    Socket client nullserver null;
          try {
            
    // Wait for a connection on the local port
            
    client ss.accept();

            final 
    InputStream streamFromClient client.getInputStream();
            final 
    OutputStream streamToClient client.getOutputStream();

            
    // Make a connection to the real server.
            // If we cannot connect to the server, send an error to the
            // client, disconnect, and continue waiting for connections.
            
    try {
              
    server = new Socket(hostremoteport);
            } catch (
    IOException e) {
              
    PrintWriter out = new PrintWriter(streamToClient);
              
    out.print("Proxy server cannot connect to " host ":"
                  
    remoteport ":\n" "\n");
              
    out.flush();
              
    client.close();
              continue;
            }

            
    // Get server streams.
            
    final InputStream streamFromServer server.getInputStream();
            final 
    OutputStream streamToServer server.getOutputStream();

            
    // a thread to read the client's requests and pass them
            // to the server. A separate thread for asynchronous.
            
    Thread t = new Thread() {
              public 
    void run() {
                
    int bytesRead;
                try {
                  while ((
    bytesRead streamFromClient.read(request)) != -1) {
                    
    streamToServer.write(request0bytesRead);
                    
    streamToServer.flush();
                  }
                } catch (
    IOException e) {
                }

                
    // the client closed the connection to us, so close our
                // connection to the server.
                
    try {
                  
    streamToServer.close();
                } catch (
    IOException e) {
                }
              }
            };

            
    // Start the client-to-server request thread running
            
    t.start();

            
    // Read the server's responses
            // and pass them back to the client.
            
    int bytesRead;
            try {
              while ((
    bytesRead streamFromServer.read(reply)) != -1) {
                
    streamToClient.write(reply0bytesRead);
                
    streamToClient.flush();
              }
            } catch (
    IOException e) {
            }

            
    // The server closed its connection to us, so we close our
            // connection to our client.
            
    streamToClient.close();
          } catch (
    IOException e) {
            
    System.err.println(e);
          } finally {
            try {
              if (
    server != null)
                
    server.close();
              if (
    client != null)
                
    client.close();
            } catch (
    IOException e) {
            }
          }
        }
      }

    Gutta cavat lapidem
    [La goccia scava la pietra]
    ***
    (Ovidio)

  4. #4
    Utente di HTML.it L'avatar di bonobo
    Registrato dal
    Sep 2008
    Messaggi
    103
    si ok,non lo volevo gia fatto..
    se no nn imparo piu..
    vabbe grazie lo stesso..prendero spunto!..

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.