Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    Inviare form su pagina remota

    Salve,
    tramite la classe "simple_html_dom" faccio il parser di una pagina remota per estrarre i valori di certi campi che devo poi utilizzare,
    per ultimo vorrei inviare il form di informazioni che si trova nella pagina, solo che non so come fare:

    codice:
    $html = file_get_html('myremotepage.html');
    nella variabile $html ho tutta la pagina, come posso aggangiare il form e semplicemente lanciare il submit ?

    Grazie in anticipo.

  2. #2
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,572
    Vuoi fare il submit da php, dopo il parsing?
    Allora ti conviene prendere l'url della form + i nomi de campi da inviare a cui assocerai i valori. A questo punto fai la richiesta con curl

  3. #3
    Nota che inviare il form potrebbe non essere possibile se il form di destinazione implementa un sistema di CSRF protection (Cross-Site Request Forgery)
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  4. #4
    Ho inserito un annuncio nel sito "subito.it", vorrei riuscire a rispondere tramite un mio script invece che tramite il form della pagina di subito.it


    Cosa ho fatto fino ad ora:


    ho fatto il parser della pagina,
    ho estratto l'intero form di contatti,
    ho salvato i campi ed i suoi valori, incluso il campo hidden dove credo ci sia la sessione ed altro,
    ho fatto lo script per postare la risposta alla pagina che vuole subito.it


    lo script gira ma la mail che qualcuno mi ha contattato su subito.it non mi arriva, questo significa che il server di subito.it non accetta il mio script o meglio forse non mi presento come un browser e mi rifiuta....


    Cosa ne pensate, quale sarà il problema ??

    Questo è il mio script:

    codice:
    $data = array('name' => 'pippo', 'email' => '[email protected]', 'message' => 'Ciao!!!', 'privacy' => 'true', 'token' => 'RdqRSaadPF7Pvbkg_Y4U8Jej-G9GqTZRnCgPDGVFf7s');
    
    $options = array(
        			'http' => array(
            		'header'  => "Content-type: application/x-www-form-urlencoded\r\n",
            		'method'  => 'POST',
            		'content' => http_build_query($data)
        			)
    );
    
    $context  = stream_context_create($options);
    $result = file_get_contents($action, false, $context);

  5. #5
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    2,970
    Provato con curl ?

  6. #6
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,038
    Quote Originariamente inviata da w_t Visualizza il messaggio
    ...
    ho salvato i campi ed i suoi valori, incluso il campo hidden dove credo ci sia la sessione ed altro,
    ...
    Questo molto probabilmente è un token e viene rigenerato a random ogni volta che si visita la pagina col form, quindi qualsiasi cosa scrivi lì nel tuo form non troverà riscontro sul server, il quale riconoscendo l'incongruenza terminerà la richiesta.

  7. #7
    Ho provato con Curl,
    nel mio server su Aruba funziona su Subito no !!!

    Gli invio pure il suo token ...

  8. #8
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,038
    Il token cambia ad ogni richiesta, non è sempre lo stesso, tu dove lo prendi il token?

  9. #9
    faccio prima il parser della pagina e lo trovo già caricato nel campo hidden del form,
    lo estraggo e lo invio con tutti i restanti campi.

  10. #10
    E' possibile che non funziona perchè l'action del form non punta ad una pagina ma ad un indirizzo dato dall'url rewrite del sito ???

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