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

    Dubbio con cURL per invio di dati via GET

    Ciao a tutti,
    sto sviluppando uno script che dovrebbe accedere automaticamente a un sito web e fare una determinata cosa. Studiando e scopiando un pò in giro sono riuscito a capire come farlo in un sito che utilizza POST, ricavando i dati dall'hedear di invio e gestendo cookie ecc..
    Solo che non riesco a capire come fare se il sito invia i dati in GET!
    Un aiuto sarebbe graditissimo,
    Grazie!

  2. #2
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    non ho capito, ti serve sapere come chiamare con cURL un URL che ha bisogno di parametri via GET?

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2017
    Messaggi
    2
    Ciao, scusate se non ho risposto, comunque sono riuscito a fare passi avanti e cerco di spiegare dove mi sono bloccato.
    il codice è questo.

    Codice:
    codice:
    <?php
    
    $url = "https://xxxx/Login.aspx";
    $cert_file = 'cert.pem';
    $cert_password = ‘xxx’;
     
    $ch = curl_init();
     
    $options = array( 
        CURLOPT_RETURNTRANSFER => true,
        //CURLOPT_HEADER         => true,
        CURLOPT_AUTOREFERER	=> true,
        CURLOPT_FOLLOWLOCATION => true,
        CURLOPT_SSL_VERIFYHOST => false,
        CURLOPT_SSL_VERIFYPEER => false,
        CURLOPT_POST=> true,
        CURLOPT_POSTFIELDS => "&ToolkitScriptManager1_HiddenField=1&__EVENTTARGET=&__EVENTARGUMENT=&__VIEWSTATE=__EVENTVALIDATION=&txtUtente=&txtPwd=&__ASYNCPOST=true&btnAccedi=Accedi",
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_COOKIESESSION => true,
        CURLOPT_COOKIE => "/Applications/XAMPP/htdocs/test/cookie.txt",
        CURLOPT_COOKIEJAR =>"/Applications/XAMPP/htdocs/test/cookie.txt",
        CURLOPT_COOKIEFILE =>"/Applications/XAMPP/htdocs/test/cookie.txt", 
        CURLOPT_USERAGENT => "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)",
        CURLOPT_SSLCERTTYPE => "PEM",
        CURLOPT_SSLKEYTYPE => "PEM", 
        CURLOPT_URL => $url ,
        CURLOPT_SSLKEY => 'key.pem',
        CURLOPT_SSLKEYPASSWD => ‘xxx’,
        CURLOPT_SSLCERT => $cert_file ,
        CURLOPT_SSLCERTPASSWD => $cert_password ,
    );
    $options2 = array( 
        CURLOPT_RETURNTRANSFER => true,
        //CURLOPT_HEADER         => true,
        CURLOPT_AUTOREFERER	=> true,
        CURLOPT_FOLLOWLOCATION => true,
        CURLOPT_SSL_VERIFYHOST => false,
        CURLOPT_SSL_VERIFYPEER => false,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_COOKIESESSION => true,
        CURLOPT_COOKIE => "/Applications/XAMPP/htdocs/test/cookie.txt",
        CURLOPT_COOKIEJAR =>"/Applications/XAMPP/htdocs/test/cookie.txt",
        CURLOPT_COOKIEFILE =>"/Applications/XAMPP/htdocs/test/cookie.txt", 
        CURLOPT_USERAGENT => "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)",
        CURLOPT_SSLCERTTYPE => "PEM",
        CURLOPT_SSLKEYTYPE => "PEM", 
        CURLOPT_URL => "https://xxxxx/Start.aspx" ,
        CURLOPT_SSLKEY => 'key.pem',
        CURLOPT_SSLKEYPASSWD => ‘xxx’,
        CURLOPT_SSLCERT => $cert_file ,
        CURLOPT_SSLCERTPASSWD => $cert_password ,
    );
    curl_setopt_array($ch , $options);
     
    $output = curl_exec($ch);
    
    
    print $output;
    
    
    curl_setopt_array($ch, $options2);
    $output = curl_exec($ch);
    echo $output;
    ?>
    Allora Il risultato del primo print è questo

    1|#||4|29|pageRedirect||%2fxxxx%2fStart.aspx|

    e si riempie il file cookie.txt effettivamente con il cookie giusto, quindi presumo che il login sia effettuato correttamente.
    Ora il problema sorge perchè nella seconda chiamata di curl che dovrebbe utilizzare il file cookie.txt ed entrare senza problemi mi ritrovo questo errore dal server.
    Server Error in '' Application.


    Validation of viewstate MAC failed. If this application is hosted by a Web Farm or cluster, ensure that <machineKey> configuration specifies the same validationKey and validation algorithm. AutoGenerate cannot be used in a cluster.

    Io ho cercato in vano ovunque solo che non riesco proprio a risolvere, sembra quasi che stia facendo un azione non lecita per il server, non riesco proprio a risolvere.
    Se c'è qualcuno che mi può dare una mano ve ne sarei immensamente grato.
    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 © 2024 vBulletin Solutions, Inc. All rights reserved.