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

    simulare POST da script

    Salve a tutti.
    Devo inviare degli sms automaticamente utilizzando il servizio offerto dal mio host.
    Questi mette a disposizione una pagina php predisposta per accettare dei parametri tramite post, quali: prefisso, numero messaggio ecc.
    Ora io ho la necessità di far spedire direttamente gli sms da uno script e non tramite un form.
    Se il metodo fosse GET utilizzerei l'url es invia.php?num=XXX&ecc

    con post non saprei come fare.
    Penso che dovrei utilizzare i socket e crearmi le richieste ma non avendolo mai fatto avrei bisogno di qualche dritta.
    grazie in anticipo per l'aiuto
    ciao a tutti

  2. #2
    prova qualcosa così:
    Codice PHP:
    $server="www.sms.it";
    $vars="num=33522&msg=ciao";
    $fp=fsockopen($server,80);
    fputs($fp,"POST /invio.cgi HTTP/1.0\r\nHost: $server\r\nUser-Agent: SendScript\r\nContent-Length: ".strlen($vars)."\r\nContent-Type: application/x-www-form-urlencoded\r\n\r\n$vars");
    fclose($fp); 
    comq avrai capito il formato delle varibile in $vars è lo stesso di quelle del metodo GET
    Dolcissima è la vita nella totale assenza di senno.

  3. #3
    grazie mille, ho fatto una prova ma funziona solo parzialmente, mi spiego:

    ho creato due pagine:
    Codice PHP:
    <?php
    $server
    ="miosito.org";
    $vars="ciao";
    $fp=fsockopen($server,80);
    fputs($fp,"POST /prova.php HTTP/1.0\r\nHost: $server\r\nUser-Agent: SendScript\r\nContent-Length: ".strlen($vars)."\r\nContent-Type: application/x-www-form-urlencoded\r\n\r\n$vars");
    fclose($fp);
    ?>
    la pagina a cui si collega è questa:
    Codice PHP:
    include('config.php'); //connesisone al db
    $v $_POST['prova'];
    $sql "INSERT INTO prova (prova) VALUES ('$v')";
    mysql_query($sql
    quando vado a controllare nel db mi crea il record ma nelal colonna prova non scrive nulla, quidni la pagina viene raggiunta e la query eseguita ma non viene passata la variabile col post.
    Attendo il vostro aiuto
    Ciao

  4. #4
    $vars deve avere il formato delle variabili GET quindi:
    $vars="prova=ciao";

    edit
    alla fine della stringa che viene inviata al server mettici un \r\n anche se dovrebbe funzioanre lo stesso
    Dolcissima è la vita nella totale assenza di senno.

  5. #5
    ehm penso di aver trovato errore sorry, riprovo in caso chiedo ancora
    ($vars="prova=ciao")

  6. #6
    ho provato col servizio sms e non funziona.
    Vi mostro il codice del form(funzionante) e quello della richiesta POST che non va:

    FORM
    Codice PHP:
    <table cellpadding=0 border=0>    
        <
    form action='http://sms.miohost.it/invia3.php' method='post' name="invio">
        <
    tr>
            <
    td valign=top>[b]Numero[/b]</td>
            <
    td>
            <
    select size=1 cols=1 name='prefisso' class="form">
            <
    option value=>---Tim
            
    <option value=333>333
            
    <option value=334>334
            
    <option value=335>335
            
    <option value=338>338
            
    <option value=339>339
            
    <option value=>
            <
    option value=>---Omnitel
            
    <option value=340>340
            
    <option value=347>347
            
    <option value=348>348
            
    <option value=349>349
            
    <option value=>
            <
    option value=>---Tre
            
    <option value=390>390
            
    <option value=392>392
            
    <option value=393>393
            
    <option value=394>394
            
    <option value=>
            <
    option value=>---Wind
            
    <option value=320>320
            
    <option value=328>328
            
    <option value=329>329
            
    <option value=>
            <
    option value=>---Blu
            
    <option value=380>380
            
    <option value=388>388
            
    <option value=389>389
            
    </select>
            <
    INPUT class="form" type="text" name='numero' maxlength="7">
            </
    td>

        </
    tr>
        <
    tr>
            <
    td valign=top>[b]Mittente[/b]</td>
            <
    td><INPUT class="form" type="text" name="mittente"></td></tr>
        <
    tr>
            <
    td valign=top>[b]Testo[/b]</td>
            <
    td>
            <
    TEXTAREA  style="WIDTH: 230px; HEIGHT: 90px"  name="testo"></TEXTAREA>
            </
    td>
        </
    tr>
        <
    tr>
            <
    td></td>
            <
    td align=center><INPUT  type="submit" value="  Avvia  "  name="autenticazione"></td>
        </
    tr>
    <
    input type="hidden" name=nomeutente  value="myuser">
    <
    input type="hidden" name=parolachiave  value="mypass">
    </
    form>
    </
    table
    Questo il mio POST:
    codice:
    POST /invia3.php HTTP/1.0 Host: http://sms.miohost.it User-Agent: SendScript Content-Length: 139 Content-Type: application/x-www-form-urlencoded mittente=Io&prefisso=339&numero=XXXXXXX&testo=Salve, blabla bla ecc&nomeutente=myuser&parolachiave=mypass
    notare che ho provato sia con:
    http://sms.miohost.it
    che con sms.miohost.it

    fatemi sapre al + presto come mai secondo voi non va.
    ciao a tutti e graze per l'aiuto

    Potrebbe essere che lo script dall'alrta parte voglia anche che arirvi tramite POST il submit?

  7. #7
    potresti postare il codice php che ti genera il post?
    Dolcissima è la vita nella totale assenza di senno.

  8. #8
    certo (nel fare le prove ho agigunto un po' di header, li ho presi con il Live http headers di firefox con il post funzionante)
    Codice PHP:
    $vars="mittente=NomeMitt&prefisso=".$prefisso."&numero=".$numero."&testo=Salve ".$utente." bla bla ecc&nomeutente=myuser&parolachiave=mypass&autenticazione=Avvia";

    $fp=fsockopen($server,80);
                
    fputs($fp,"POST /invia3.php HTTP/1.0\r\n
                Host: sms.consultingweb.it\r\n
                User-Agent: User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; it; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3\r\n
                Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5\r\n
                Accept-Language: it-it,it;q=0.8,en-us;q=0.5,en;q=0.3\r\n
                Accept-Encoding: gzip,deflate\r\n
                Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n
                Keep-Alive: 300\r\n
                Connection: keep-alive\r\n
                Content-Type: application/x-www-form-urlencoded\r\n\
                Content-Length: "
    .strlen($vars)."\r\n\r\n".$vars);
                
    fclose($fp); 
    grazie ancora per l'aiuto

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.