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

    Snoopy e Php,tentativo di interazione con sito

    Sto cercando di ottenre in automatico un'elenco di ciascun ente per ogni ufficio

    (per esempio,per UFFICIO FINANZIARIO= ABBIATEGRASSO si hanno questi codici per
    ENTE EMITTENTE:

    001 - TRIBUNALE

    002 - GIUDICE DI PACE

    003 - AA010





    da questo link http://www1.agenziaentrate.it/serviz...ne.htm?passo=0
    ho visualizzato il sorgente html e ho tentato di riprodurre l'invio di una richiesta form metodo
    post con snoopy.


    il form originario e' questo:

    <div id='errorericerca'>


    Si sono verificati i seguenti errori:

    </p>Selezionare l'ufficio
    </div>

    <form method="post" action="/servizi/tassazioneattigiudiziari/registrazione.htm?action=scegliufficio">

    <h2>Scegli l'ufficio</h2>

    <div id="field" class="bordocampiform">

    <label for="ufficio">Ufficio Finanziario:</label>
    <select name="ufficio" id="ufficio">
    <option value=""></option>
    <option value="C55">
    ABBIATEGRASSO </option>
    <option value="D84">
    ACIREALE </option>
    <option value="F17">
    ACQUI TERME </option>
    <option value="F85">
    ADRIA </option>
    <option value="D70">
    AGRIGENTO </option>
    .....
    ..... ometto la lista,in quanto ho fatto le prove con snoopy con ABBIATEGRASSO

    </select>

    </div>

    <div id='avantiindietro'> <input type="submit" value="Avanti" id="avanti">
    </div>
    </form>
    </div>



    Il mio codice php in cui uso snoopy e' questo:

    <?php

    include("snoopy.class.php");
    $snoopy = new Snoopy;

    $snoopy->agent = "Mozilla/5.0 (compatible; MSIE 7.0; Windows NT 5.1)";

    $snoopy->rawheaders["Pragma"] = "no-cache";
    $snoopy->rawheaders["Content-type"] = "text/html";

    $snoopy->cookies["PHPSESSID"] = 'fcae7d936c1c29680e17a541199d80be';
    $snoopy->rawheaders["Accept-Charset"] = 'iso-8859-1';
    $snoopy->rawheaders["Accept-Language"] = "en";

    $submit_vars['domname'] = "***";

    $submit_vars['whatsub'] = "ABBIATEGRASSO";

    $url1 = "http://www1.agenziaentrate.it/servizi/tassazioneattigiudiziari/registrazione.htm?passo=0";
    $url2 = "http://www1.agenziaentrate.it/servizi/tassazioneattigiudiziari/registrazione.htm?action=scegliufficio";


    $snoopy->submit($url2, $submit_vars);
    echo $snoopy->results;

    ?>


    Il codice gira su un server Apache.

    Premetto di aver fatto il test sia con $url1 che con $url2,senza risultati positivi.
    Cio' che ottengo e' sempre la rispota che riproduce (con echo) la pagina del link http://www1.agenziaentrate.it/serviz...ne.htm?passo=0
    ( oppure , il che e' la stessa cosa, di http://www1.agenziaentrate.it/serviz...istrazione.htm),mentre io speravo di ottenere
    come risultato una pagina corrispondente a
    http://www1.agenziaentrate.it/serviz...ne.htm?passo=1
    quando da http://www1.agenziaentrate.it/serviz...ne.htm?passo=0 si sceglie
    ABBIATEGRASSO e si clicca su "AVANTI" (e compare per l'appunto il risultato della pagina
    http://www1.agenziaentrate.it/serviz...ne.htm?passo=1).

    In realta',avevo tentato anche con fsocket ma con fsocket e' difficile costruire il Form come lo si fa con Snoopy.

    Chi mi da' un'aiuto a capire dove cavolo sbaglio?

    Grazie.

  2. #2
    Per prima cosa, non è che il Content-type dovrebbe essere application/x-www-form-urlencoded ?
    Inoltre il SID dovresti recuperarlo da una richiesta precedente, altrimenti rischi che non funzioni se lo script richiede delle variabili valorizzate in sessione prima di permettere il post della form.

  3. #3
    Ho corretto il content-type e messo per la PHPSESSID il valore dato da session_id() (dopo ovviamente aver fatto session_start() ), nisba,non funziona nulla




    forse per il sessid dovrei recuperarlo dalla risposta che ricevo dopo che provo a fare una eventuale Get all'indirizzo http://www1.agenziaentrate.it/serviz...ne.htm?passo=0

  4. #4
    Originariamente inviato da Giuliotresauri
    Ho corretto il content-type e messo per la PHPSESSID il valore dato da session_id() (dopo ovviamente aver fatto session_start() ), nisba,non funziona nulla
    Rileggi quanto scritto in precedenza. Utilizzare il sid del tuo server è inutile.

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