dsa1230000 2010-10-26 16:31
浏览 8
已采纳

卷曲POST字段未发布

I've verified that $requestDom->saveXml() is returning valid XML but at the destination URL I have print_r($_POST) and it doesn't receive anything. Am I missing something here? :-\

    $connection = curl_init();
    curl_setopt($connection, CURLOPT_POSTFIELDS, array(
        'xml' => $requestDom->saveXml()
    ));
    curl_setopt($connection, CURLOPT_HEADER, false); //with or without this option, it doesn't work
    curl_setopt($connection, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($connection, CURLOPT_POST, true);
    curl_setopt($connection, CURLOPT_URL, 'http://sample.com');

    $response = curl_exec($connection);
  • 写回答

2条回答 默认 最新

  • doushou8299 2010-10-26 18:54
    关注

    After further research, I've discovered that the proper method to post xml to a destination URL is to....

    $connection = curl_init();
    curl_setopt($connection, CURLOPT_POSTFIELDS, $requestDom->saveXml());
    curl_setopt($connection, CURLOPT_HEADER, false); //with or without this option, it doesn't work
    curl_setopt($connection, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($connection, CURLOPT_POST, true);
    curl_setopt($connection, CURLOPT_URL, 'http://sample.com');
    
    $response = curl_exec($connection);
    

    And then on the file receiving this information, use:

                $post = file_get_contents("php://input");
                $request = simplexml_load_string($post);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?