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

    XMLRPC - chiamata ad una pagina con dati POST XML

    Salve a tutti,

    dopo estenuanti ricerche in vari forum mi sono accorto che il codice per fare una richiesta POST ad una pagina con delle variabili, era sul manuale di PHP.
    Vi riporto il codice commentato:

    Codice PHP:

    $content 
    'vara=a&varb=b';
    $content_length strlen($content);
    $headers"POST /prova.php HTTP/1.0\r\nHost: localhost\r\nContent-length: $content_length\r\nContent-type: application/x-www-form-urlencoded\r\n\r\n";
    $fp fsockopen("localhost"80);
    if (!
    $fp) return false;
    fputs($fp$headers);
    fputs($fp$content);

    $headers "";
    while (
    $str trim(fgets($fp4096)))
      
    $headers .= "$str\n";
      
    $body "";
    while (!
    feof($fp))
      
    $body .= fgets($fp4096);
      
    fclose($fp);
    echo 
    $headers."
    "
    .$body
    La pagina prova.php fa semplicemente un print_r($_POST).
    Il tutto funziona correttamente e la pagina mi stampa gli header di risposta ed il risultato dell'elaborazione (print_r) di prova.php.

    La mia domanda adesso è: se io volessi inviare via POST dei dati XML alla pagina prova.php (come è il principio di funzionamento di XMLRPC e SOAP), come fa prova.php ad usare tali dati XML?? :master:

    Per fare la richiesta non ci sono problemi, basta modificare il content-type in text/xml
    ed inviare dati XML anzichè assegnazioni di variabili separate da &

    Codice PHP:

    $content 
    '<tag>valore</tag><tag2>valore2</tag2>';
    $content_length strlen($content);
    $headers"POST /prova.php HTTP/1.0\r\nHost: localhost\r\nContent-length: $content_length\r\nContent-type: text/xml\r\n\r\n";
    $fp fsockopen("localhost"80);
    if (!
    $fp) return false;
    fputs($fp$headers);
    fputs($fp$content);

    $headers "";
    while (
    $str trim(fgets($fp4096)))
      
    $headers .= "$str\n";
      
    $body "";
    while (!
    feof($fp))
      
    $body .= fgets($fp4096);
      
    fclose($fp);
    echo 
    $headers."
    "
    .$body
    ma la ricezione come si fa?

    Grazie in anticipo
    Michele Castellucci
    Sviluppatore Web del Consorzio CottonBit
    Consorzio Cottonbit
    Risorse per la programmazione
    Dire Fare Programmare!

  2. #2
    mi rispondo da solo...

    I dati POST sono contenuti nella variabile globale $HTTP_RAW_POST_DATA



    Ciao
    Michele Castellucci
    Sviluppatore Web del Consorzio CottonBit
    Consorzio Cottonbit
    Risorse per la programmazione
    Dire Fare Programmare!

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.