ActiveX
Новичок
Передать XML методом POST
Пытаюсь передать такую XML:
Файл catchPOST.php выглядит так:
Проблема в том, что данные не отправляются (не передаются) скрипту catchPOST.php, т.е. после отработки скрипта sendPOST.php на экран выдается (HTML-код):
<h1>RESULT</h1>
string(553) "HTTP/1.1 200 OK
Date: Thu, 31 Aug 2006 14:58:29 GMT
Server: Apache/1.3.31 (Win32) PHP/5.1.4
Cache-Control: max-age=5
Expires: Thu, 31 Aug 2006 14:58:34 GMT
X-Powered-By: PHP/5.1.4
Transfer-Encoding: chunked
Content-Type: text/html
<hr />
<h1>Headers:</h1>
array(5) {
["Accept"] => string(3) "*/*"
["Content-Length"] => string(1) "273"
["Content-Type"] => string(33) "application/x-www-form-urlencoded"
["Host"] => string(4) "test"
["User-Agent"] => string(34) "Opera/9.00 (Windows NT 5.1; U; ru)"
}
<hr />
<h1>POST:</h1>
array(0) {
}
Посему получается, что данные не передаются. Не понимаю, почему?
Пытаюсь передать такую XML:
Методом POST (использую последнюю версию CURL) из одного скрипта (sendPOST.php) в другой (catchPOST.php) таким образом:<data>
<name>Name</name>
<sname>Sercond Name</sname>
<gender>Male</gender>
<address>
<first>First St, 15</first>
<second>Second Empty</second>
</address>
</data>
PHP:
<?php
/*
Получение внешних данных.
После переменные, используемые для заполнения XML
имеют опеределенные значения
*/
$Data = '
<data>
<name>'.$Name.'</name>
<sname>'.$sName.'</sname>
<gender>'.$gender.'</gender>
<address>
<first>'.$address['first'].'</first>
<second>.'$address['second'].'</second>
</address>
</data>
';
$Data = urlencode($Data);
$ch = curl_init("http://my_url/catchPOST.php");
curl_setopt($ch,CURLOPT_POST,1); //Использовать метод POST
curl_setopt($ch,CURLOPT_POSTFIELDS, $POST); //Отправить данные
curl_setopt($ch, CURLOPT_RETURNTRANSFER,0); //
curl_setopt($ch, CURLOPT_HEADER,0);
$res = curl_exec($ch);
curl_close($ch);
if($res)
echo "<h1>RESULT:</h1>";
var_dump($res);
echo "<hr />";
else
echo "<h1>ERROR:</h1>curl_error($ch)<hr />";
?>
PHP:
<?php
echo '<h1>Headers:</h1>';
var_dump(getallheaders());
echo "<hr /><h1>POST data:</h1>";
var_dump($_POST);
?>
<h1>RESULT</h1>
string(553) "HTTP/1.1 200 OK
Date: Thu, 31 Aug 2006 14:58:29 GMT
Server: Apache/1.3.31 (Win32) PHP/5.1.4
Cache-Control: max-age=5
Expires: Thu, 31 Aug 2006 14:58:34 GMT
X-Powered-By: PHP/5.1.4
Transfer-Encoding: chunked
Content-Type: text/html
<hr />
<h1>Headers:</h1>
array(5) {
["Accept"] => string(3) "*/*"
["Content-Length"] => string(1) "273"
["Content-Type"] => string(33) "application/x-www-form-urlencoded"
["Host"] => string(4) "test"
["User-Agent"] => string(34) "Opera/9.00 (Windows NT 5.1; U; ru)"
}
<hr />
<h1>POST:</h1>
array(0) {
}
Посему получается, что данные не передаются. Не понимаю, почему?