Я использовал приведенный ниже код для отправки XML в мой REST API.$ xml_string_data содержит правильный XML, и он хорошо передается mypi.php:
//set POST variables
$url = 'http://www.server.cu/mypi.php';
$fields = array(
'data'=>urlencode($xml_string_data)
);
//url-ify the data for the POST
$fields_string = "";
foreach($fields as $key=>$value)
{
$fields_string .= $key.'='.$value.'&';
}
rtrim($fields_string,'&');
echo $fields_string;
//open connection
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch,CURLOPT_POST,count($fields));
curl_setopt($ch,CURLOPT_POSTFIELDS,$fields_string);
curl_setopt($ch,CURLOPT_HTTPHEADER,array (
"Expect: "
));
//execute post
$result = @curl_exec($ch);
Но когда я добавил другое поле:
$fields = array(
'method' => "methodGoPay",
'data'=>urlencode($xml_string_data)
);
Оно перестало работать.На mypi.php я больше не получаю больше параметров POST!
Не могли бы вы сказать мне, что делать, чтобы отправить XML и другие параметры публикации в одном запросе cURL?
Пожалуйста, не предлагайте использовать какие-либо библиотеки, я не собираюсь делать это на простом PHP.