2016-09-17 127 views
0

我想從API響應不能得到來自API的響應 - 我要送一個XML文檔,然後我應該得到另一個XML作爲一種迴應,但我得到的是「XML錯誤沒有發現」元素....使用捲曲在PHP

這裏是我的PHP代碼捲曲:

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: text/xml')); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_POST, 1); 
curl_setopt($ch, CURLOPT_POSTFIELDS, 'email=' . $email . '&password=' . $password . '&content=' . $xml); 
$ex = curl_exec($ch); 

可惜的是,當我試圖呼應$前 - 顯示在上面的錯誤。 我所有的變量都是正確的,我的xml也是如此(文檔在$ xml變量中給出)。

我缺少什麼?

回答

0

要設置內容類型文本/ XML,但實際上您要發送數據作爲應用程序/ x-WWW窗體-urlencoded。請更正標題,或者只發送變量$ xml變量。

例如:

$ch = curl_init($url); 
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'Content-Type: text/xml', 
    'Content-Length: '. strlen($xml)) 
); 
$result = curl_exec($ch); 

CURLOPT_RETURNTRANSFER純粹是使得來自遠程服務器的響應被放置在$result而非迴盪。

+0

我試着刪除標題並回顯它 - 仍然不起作用 – user6843254