Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    browser java usando i socket....problema

    sto creando un browser in java con i socket. funziona tutto alla perfezione ma devo inserire manualmente una pagina esistente è possibile rendere questa cosa un po + automatica???
    spero di essere stato chiaro

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: browser java usando i socket....problema

    Originariamente inviato da slashouse
    sto creando un browser in java con i socket. funziona tutto alla perfezione ma devo inserire manualmente una pagina esistente è possibile rendere questa cosa un po + automatica???
    spero di essere stato chiaro
    Benvenuto sul forum. Purtroppo non è affatto chiaro che cosa stai facendo e quale è il problema.
    Hai fatto un browser ... con cosa ... con quale/i componente/i? Devi inserire una pagina manualmente ... ma come? E cosa intendi per "+ automatica"??
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    allora usando il linguaggio java con le librerie
    java.net.*;
    java.io.*;
    javax.net.*;
    java.io.*;
    java.net.*;
    ho creato un browser....questo funziona ma quando c'è l'istruzione GET (che serve per richiamare una pagina esistente dal server del sito) devo inserire manualmente un indirizzo tipo:
    outputStream.println("GET http://www.tiscali.it/bb/"); in questo caso per tiscali
    outputStream.println("GET www.google.it/webhp"); per google
    e lo devo fare manualmente ogni volta facendo un copia incolla in questa riga del programma
    io vorrei sapere se è possibile fare tutto questo lavoro in maniera automatica con qualche istruzione in + o con una funzione da richiamare.

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da slashouse
    ho creato un browser....questo funziona ma quando c'è l'istruzione GET (che serve per richiamare una pagina esistente dal server del sito) devo inserire manualmente un indirizzo tipo:
    outputStream.println("GET http://www.tiscali.it/bb/"); in questo caso per tiscali
    outputStream.println("GET www.google.it/webhp"); per google
    e lo devo fare manualmente ogni volta facendo un copia incolla in questa riga del programma
    Ovviamente se vuoi fare in modo che l'utente possa facilmente cambiare l'indirizzo, non va di certo bene "cablare" l'indirizzo nel sorgente!!

    Quindi il primo punto è: come intendi permettere all'utente di scegliere l'indirizzo? Da linea di comando? Da standard input? Con un componente di testo AWT/Swing??
    A parte il modo con cui, fisicamente, chiederai l'indirizzo, le stringhe le puoi semplicemente e banalmente concatenare usando l'operatore + o il concat() di String o usando StringBuffer/StringBuilder o la nuova funzionalità di formattazione (format()) delle stringhe di Java 5.

    Ci sono altre questioni che vorrei farti notare, relative al fatto che stai gestendo il protocollo HTTP a livello di socket.
    Devi usare per forza i socket perché ti è stato esplicitamente richiesto così? È forse un "esercizio" didattico, di esame o altro? Se è così ok, va bene ... è un conto. Questo però presuppone che tu conosca discretamente il protocollo HTTP. E riguardo a questo ti faccio presente una cosa. Usare println() non andrebbe proprio bene, non in modo generale e portabile. Il protocollo HTTP richiede espressamente che le linee degli header siano terminate da CR+LF. Ora .. println() manda in output la sequenza di newline specifica della piattaforma su cui sta girando la applicazione. È chiaro che, per combinazione, il newline sarebbe corretto solo su Windows, non su altri S.O. come Unix/Linux/Mac.

    Se non ti è stato richiesto esplicitamente di usare i socket, direi che stai facendo delle fatiche inutili, in quanto basterebbe semplicemente usare le classi URL e URLConnection che permettono di lavorare con il protocollo HTTP in modo molto semplice e senza doverti preoccupare di tutti i dettagli a basso livello del protocollo.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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.