Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    9

    [Java] accesso sito con autenticazione

    Salve a tutti, ho scritto il seguente codice per accedere a una pagina che richiede un autenticazione, purtroppo non mi permettere di accedere, ho provato con vari siti ma rimango sempre e solo nella pagina di login:

    import java.net.*;
    import java.io.*;

    public class ReadHTML{

    public static void main(String[] arg){
    String un= "mioSitoConAutenticazione.html";
    System.out.println("URL: "+un);
    File file=new File("prova.html");
    URL url;
    BufferedReader stream;

    try {
    Authenticator.setDefault (new MiaAutenticazione ());
    url = new URL (un);
    try {
    stream = new BufferedReader (new InputStreamReader (url.openStream()));
    String l;
    try {
    FileWriter fw=new FileWriter(file);
    while ((l=stream.readLine())!=null){
    System.out.println(l);
    fw.write(l);
    };
    fw.close();
    }catch (IOException e){System.out.println("Errore di lettura.");};
    }catch (IOException e){
    e.printStackTrace();
    stream=null;
    System.exit(0);
    };
    }catch (MalformedURLException e){};
    }
    }

    class MiaAutenticazione extends Authenticator{
    protected PasswordAuthentication getPasswordAuthentication (){
    return new PasswordAuthentication ("mio User", "miaPassword".toCharArray());
    }
    }
    Il limiti del mio linguaggio sono i limiti del mio mondo.

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

    Re: [Java] accesso sito con autenticazione

    Originariamente inviato da Tacitus
    Salve a tutti, ho scritto il seguente codice per accedere a una pagina che richiede un autenticazione, purtroppo non mi permettere di accedere, ho provato con vari siti ma rimango sempre e solo nella pagina di login:
    Qui c'è da fare una piccola premessa ma molto molto importante. La classe Authenticator serve, è vero, per definire i dati di autenticazione da inviare ad un server. Ma questa autenticazione è quella che viene usata a livello HTTP, si chiama "basic access authentication", vedere su Wikipedia:
    http://en.wikipedia.org/wiki/Basic_a...authentication

    Questo tipo di autenticazione non centra nulla con l'autenticazione tipica dei siti internet che prevede la compilazione di un form con nome utente/password!!!!!
    Quest'ultimo è tutto un altro tipo e concetto di autenticazione! Si basa sul fatto di effettuare tipicamente un "POST" ad un certo URL per inviare i dati di un form. Dove appunto URL e nomi dei campi sono totalmente "custom" e specifici del sito.

    Per realizzare questo tipo di autenticazione basata su un form, bisogna conoscere le caratteristiche del form (action, nomi dei campi ecc...) ed effettuare un "POST" HTTP. Si può fare in Java con la classe URLConnection specificando di voler fare un output (setDoOutput() ) e inviando come prima cosa sull'output stream, verso il server, i dati del form che vanno codificati in un modo specifico.
    Poi per poter "tenere" una conversazione con il server una volta autenticati è quasi sicuramente necessario tenere in considerazione anche i "cookie".
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    9
    Intanto grazie per la risposta, speravo che fosse tutto più semplice, mi guarderò un po di documentazione della classe che mi hai consigliato sul sito della Sun.


    Per caso ti è già capitato di dover fare una cosa simile o le tue sono conoscente più vicine alla teoria? Ti chiedo questo per rendermi un po' conto del lavoro che mi aspetta se voglio continuare a perseguire questa strada. Grazie.
    Il limiti del mio linguaggio sono i limiti del mio mondo.

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.