$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での実行
私はブラウザで実行
成功したXMLを返しhttp://clietsite.com:9000/service?instance=<parent><child>value</child></parent>
のように(私はPHPバージョン5.2.17を使用しています)。何が問題なのか分かりません。これを解決するのを手伝ってください。
そのサービスに送信する入力が期待される形式であることを再確認してください。おそらくあなたはポスト値のエンコーディングに対処する必要がないので、おそらく '' CURLOPT_POSTFIELDS'(http://php.net/curl_setopt)のために ''配列 ''を使いたいかもしれません。 – hakre
私は配列を定義しました$ postArray = array(); $ postArray ['rtyinstance'] = $ currentXML; curl_setopt($ ch1、CURLOPT_POSTFIELDS、$ postArray)のように使用します。 – Arasu
でも空を返します – Arasu