Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    21

    [JAVA] Inviare richiesta POST

    Ciao a tutti!

    Devo accendere ad una pagina web con username e password tramite un programmino da me sviluppato in Java. Ho trovato e provato tante soluzioni cercando in rete, ma nessuna di queste funziona... il risultato è sempre lo stesso, mi viene restituita la pagina iniziale contente la form. Come se la richiesta non arrivasse o non fosse accettata.
    Pensando che potesse essere un problema di sessioni o cookie ho pure creato una form in locale in PHP per i test, ma il risultato continua ad essere lo stesso.
    Vi posto il codice HTML e PHP della form di test:
    codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
    <form method="post" action="login.php" name="login" >
    	<input name="user" type="text" />
    	<input name="password" type="password" /> 
    	<input name="submit" type="submit" value="go!" />
    </form>
    </body>
    </html>
    Codice PHP:
    //login.php
    <?php
    if($_POST['user'] == "prova" && $_POST['password'] == "prova")
        echo 
    "OK";
    else
        echo 
    "NO!!!";
    ?>
    Uno dei codici JAVA che ho trovato (con un sacco di commenti che ne confermano il funzionamento) è questo:
    codice:
    try {
            URL url;
            URLConnection urlConnection;
            DataOutputStream outStream;
            BufferedReader inStream;
    		 
            // Build request body
            String body =
            URLEncoder.encode("user=", "UTF-8") + URLEncoder.encode("prova", "UTF-8") + "&" +
            URLEncoder.encode("password=", "UTF-8")  + URLEncoder.encode("prova", "UTF-8");
    		 
            // Create connection
            url = new URL("http://localhost/index.html");
            urlConnection = url.openConnection();
            ((HttpURLConnection)urlConnection).setRequestMethod("POST");
            urlConnection.setDoInput(true);
            urlConnection.setDoOutput(true);
            urlConnection.setUseCaches(false);
            urlConnection.setRequestProperty("", "POST HTTP/1.1");
            urlConnection.setRequestProperty("Connection", "Keep-Alive");
            urlConnection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
            urlConnection.setRequestProperty("Content-Length", ""+ body.length());
            
            // Create I/O streams
            outStream = new DataOutputStream(urlConnection.getOutputStream());
            inStream = new BufferedReader(new InputStreamReader(urlConnection.getInputStream()));
     
            // Send request
            outStream.writeBytes(body);
            outStream.flush();
            outStream.close();
            
            // Get Response
            // - For debugging purposes only!
            String buffer;
            while((buffer = inStream.readLine()) != null) {
                System.out.println(buffer);
            }
    		 
            // Close I/O streams
            inStream.close();
             outStream.close();
    }
    catch(Exception ex) {
            System.out.println("Exception cought:\n"+ ex.toString());
    }
    Ho fatto qualche modifica dopo varie prove ma senza nessun risultato. Se qualcuno ha esperienza in questo genere di cose o ha qualche suggerimento gliene sarei grato.

  2. #2
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    perchè non usi una servlet o jsp?

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    21
    Originariamente inviato da bstefano79
    perchè non usi una servlet o jsp?
    Perché devo fare un'applicazione che faccia login da remoto.

  4. #4
    Perché con usi le commons di apache , ti semplicicano la vita per fare queste cose. In particolare questo esempio dovrebbe risolvere proprio il tuo problema.
    Il centro dell'attenzione non è sempre un buon posto in cui trovarsi

    Mai discutere con uno stupido, la gente potrebbe non capire la differenza. (O. W.)

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 © 2026 vBulletin Solutions, Inc. All rights reserved.