ПОСТАВЕТЕ низ от данни към XML сървър с помощта на PHP

Трябва да поставя низ от данни така: '‹ client>...‹\client>' на XMl сървър (примерен url: 'http://example.appspot.com/examples'), използвайки PHP. (Контекст: Добавяне на подробности за нов клиент към сървъра).

Опитах да използвам CURLOPT_PUT, с файл и само с низ (тъй като изисква CURLOPT_INFILESIZE и CURLOPT_INFILE), но не работи!

Има ли други PHP функции, които могат да се използват за извършване на такова нещо? Разгледах наоколо, но информацията за PUT заявките е оскъдна.

Благодаря.


person WMO    schedule 28.04.2011    source източник


Отговори (2)


тъй като досега не съм работил с cURL, не мога да отговоря на тази тема. Ако искате да използвате cURL, бих предложил да погледнете регистрационния файл на сървъра и да видите какво всъщност не работи (и така: изходът от заявката наистина ли беше това, което трябваше да бъде?)

Ако нямате нищо против да преминете към друга технология/библиотека, бих ви предложил да използвате Zend HTTP Client, който е наистина лесен за използване, лесен за включване и трябва да задоволи всички ваши нужди. Особено като се има предвид, че изпълнението на PUT заявка е толкова просто:

<?php 
   // of course, perform require('Zend/...') and 
   // $client = new Zend_HTTP_Client() stuff before
   // ...
   [...]
   $xml = '<yourxmlstuffhere>.....</...>';
   $client->setRawData($xml)->setEncType('text/xml')->request('PUT');
?>

Примерен код е от: Zend Framework Документи # RAW-заявки за данни

person Briareos386    schedule 28.04.2011

Друг начин за добавяне на тяло на низ към заявката PUT с CURL в PHP е:

 <?php
        $data = 'My string';
        curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT'); // Define method type
        curl_setopt($ch, CURLOPT_POSTFIELDS, $data); // Set data to the body request
  ?>

Надявам се това да помогне!

person xserrat    schedule 22.03.2017