$returnurl = "http://clietsite.com:9000/service";
$curlPost = "rtyinstance=<parent><child>value</child></parent>";
$ch1 = curl_init();
if (!$ch1) die("Couldn't initialize a cURL handle");
$headerinfo = apache_request_headers();
curl_setopt($ch1, CURLOPT_URL, $returnurl);
curl_setopt($ch1, CURLOPT_HEADER, 0);
curl_setopt($ch1, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch1, CURLOPT_POST, true);
curl_setopt($ch1, CURLOPT_POSTFIELDS, $curlPost);
curl_setopt($ch1, CURLOPT_FRESH_CONNECT, 1);
curl_setopt($ch1, CURLOPT_USERAGENT, $headerinfo['User-Agent']);
curl_setopt($ch1, CURLOPT_TIMEOUT,1*60);
$result = curl_exec($ch1);
var_dump($result);
echo $responseCode = curl_getinfo($ch1, CURLINFO_HTTP_CODE);
curl_close($ch1);
Приведенный выше код возвращает responseCode 200, var dump prints string (0) "".Выполнение CURL в PHP
, когда я бегу в браузере (я использую PHP версии 5.2.17) как
http://clietsite.com:9000/service?instance=<parent><child>value</child></parent>
успешно возвращает XML. не знаю, в чем проблема. Пожалуйста, помогите мне решить эту проблему.
Дважды проверьте вход, который вы отправляете на эту услугу, в ожидаемом формате, например. вы, возможно, захотите использовать 'array' для [' CURLOPT_POSTFIELDS'] (http://php.net/curl_setopt), вероятно, потому, что вам не нужно иметь дело с кодировкой значений post. – hakre
Я определил массив $ postArray = array(); $ postArray ['rtyinstance'] = $ currentXML; и используется как curl_setopt ($ ch1, CURLOPT_POSTFIELDS, $ postArray); – Arasu
, но возвращает – Arasu