Curl & XML Передача данных

Статус
В этой теме нельзя размещать новые ответы.

denover

Постоялец
Регистрация
5 Июн 2008
Сообщения
56
Реакции
7
Не пойму в чём загвоздка. Почему ничего не передаётся.
Вот код:

PHP:
index.php
<?php
    function send_xml( $url, $xml, $sync=false ) {
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_TIMEOUT, 10);
        curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml"));
        curl_setopt($ch, CURLOPT_FORBID_REUSE, 1);
        curl_setopt($ch, CURLOPT_FRESH_CONNECT, 1);
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
        $data = curl_exec($ch);
        if (curl_errno($ch)) {
            $data=0;
        }
        curl_close($ch);
        return $data;
    }
    $xml = '<member><name>name</name></member>';
    var_dump( send_xml( 'http://localhost/ping.php', $xml ) );
?>
ping.php
PHP:
<?php
  var_dump($_POST);
?>
HTML:
string(13) "array(0) {
}
"
 
CURLOPT_POSTFIELDS
This can either be passed as a urlencoded string like 'para1=val1&para2=val2&...' or as an array with the field name as key and field data as value.

Ни того ни другого я здесь не наблюдаю.

Добавлено через 57 секунд
$xml = '<member><name>name</name></member>';

заменить на что-то вроде:

$xml['data'] = '<member><name>name</name></member>';
 
добавил
PHP:
var_dump( send_xml( 'http://localhost/ping.php', "xml=".$xml ) );
и заработало только после того как убрал
PHP:
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: text/xml"));
Может я этим хеадером не правильно пользуюсь ?
 
а зачем тебе вообще этот хитдер отправлять ?

PS хз что за обработчик
но если ты пишешь пингатор ПС то лично у меня работает вот такой код :
PHP:
<?php
//...
$xml="<?xml version='1.0'?><methodCall><methodName>weblogUpdates.ping</methodName><params><param><value>$title</value></param><param><value>$url</value></param></params></methodCall>";
$result=send_POST("http://ping.blogs.yandex.ru/RPC2","",$xml);
//...
?>
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху