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

    Problema login con CURL

    Buonasera signori.

    Sono null'altro che un newbie per quanto riguarda curl, ed ho un problema per fare il login a una pagina.

    La situazione è questa: devo parsare una pagina web protetta da una pagina di login, dove io devo inserire username e password, che ovviamente ho.

    Il form della pagina del login è:

    Codice PHP:
     <form action="EXAMPLE_LOGIN" method="post" id="login-form">
                <
    div class="content">

                    <
    ul class="form-list">
                        <
    li>
                            <
    label for="email" class="required"><em>*</em>codice cliente </label>
                            <
    div class="input-box">
                                <
    input type="text" name="login[username]" value="" id="email" class="input-text required-entry " title="codice cliente (Mavic ID)" />
                            </
    div>
                        </
    li>
                        <
    li>
                            <
    label for="pass" class="required"><em>*</em>Password</label>
                            <
    div class="input-box">
                                <
    input type="password" name="login[password]" class="input-text required-entry validate-password" id="pass" title="Password" />
                            </
    div>
                        </
    li>
                    </
    ul>
                    <
    class="submit-login">
                        <
    button type="submit" class="button" title="Connettersi" name="send" id="send2">
                            <
    span>Connettersi</span>
                        </
    button>
                    </
    p>
                    <
    class="required"><em>*</emCampi obbligatori</p>
                    <
    p>

                    </
    p>
                </
    div>

            </
    form

    e il codice PHP che io ho sviluppato è:

    Codice PHP:
    <?php


    include('simple_html_dom.php');

    $connessione curl_init("EXAMPLE_LOGIN");
    print(
    $connessione);

    curl_setopt($connessioneCURLOPT_RETURNTRANSFERtrue);
    curl_setopt($connessioneCURLOPT_SSL_VERIFYPEERfalse);
    curl_setopt($connessioneCURLOPT_POST1);
    curl_setopt($connessioneCURLOPT_POSTFIELDS, array("login[username]" => "EXAMPLE_USERNAME""login[password]" => "EXAMPLE_PASSWORD" ) );

    curl_exec($connessione);


    $html file_get_html("PAGINADAPARSARE");

    curl_close($connessione);


    ?>
    Ma eseguendo la pagina, quando scarico l'html per parsarlo vengo nuovamente reindirizzato alla pagina di login.
    Ho provato a eseguire la pagina tramite command ma non risultano errori, dove sbaglio?

    Grazie!
    Ultima modifica di Pgiacomo; 20-01-2015 a 17:25

  2. #2
    Utente di HTML.it L'avatar di .Kurt
    Registrato dal
    Jul 2007
    Messaggi
    654
    Ma eseguendo la pagina, quando scarico l'html per parsarlo vengo nuovamente reindirizzato alla pagina di login.
    Non è molto chiaro. Il problema è che non riesci ad eseguire correttamente il login?

  3. #3
    Quote Originariamente inviata da .Kurt Visualizza il messaggio
    Non è molto chiaro. Il problema è che non riesci ad eseguire correttamente il login?
    Forse hai ragione, chiedo venia.

    Ho modificato il codice php aggiungendo il get_html che dovrebbe prendere il codice da parsare.
    Quel file_get_html lì, anzichè scaricare la pagina corretta, scarica la pagina di login al quale vengo reindirizzato dalla pagina che dovrei parsare, in quanto immagino non riconosca la session attiva.

  4. #4
    Utente di HTML.it L'avatar di .Kurt
    Registrato dal
    Jul 2007
    Messaggi
    654
    Tu stai comunicando attraverso il sito utilizzando http, e http e di fatto un protocollo stateless. Generalmente, a login avvenuto, il sito in questione rilascia al client un token (che generalmente viene memorizzato nei cookie) con identifica la sessione dell'utente per le richieste successive. Quello che devi fare è quindi, dopo il login, ricavare questo dato dalla risposta della pagina di login e utilizzarlo per le richieste successive per accedere alle aree protette.

  5. #5
    Quote Originariamente inviata da .Kurt Visualizza il messaggio
    Tu stai comunicando attraverso il sito utilizzando http, e http e di fatto un protocollo stateless. Generalmente, a login avvenuto, il sito in questione rilascia al client un token (che generalmente viene memorizzato nei cookie) con identifica la sessione dell'utente per le richieste successive. Quello che devi fare è quindi, dopo il login, ricavare questo dato dalla risposta della pagina di login e utilizzarlo per le richieste successive per accedere alle aree protette.
    Ottimo Kurt, ho risolto, mi sei stato davvero utile! Grazie

  6. #6
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    Metti la soluzione potrebbe essere utile ad altri.

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2017
    residenza
    Verona
    Messaggi
    7
    Ciao Pgiacomo, potresti postare la soluzione per favore? Avrei lo stesso problema.
    Grazie

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.