2015-08-17 43 views
0

嗨我想用cURL編程。 但還沒有開始它也回報我機智的服務器內部錯誤。 cURL中的給定代碼有任何錯誤嗎?用cURL發佈到XML,Noob here學習

<?php'; 
$now = new DateTime(); 
$url = "smsx.ia.com.my"; 
$parameters = array(
'UserID' => '[email protected]', 
'Version' => '1.0', 
'Action' => 'ProductCreate', 
'Timestamp' => $now->format(DateTime::ISO8601), 
); 
// Sort parameters by name 
ksort($parameters); 
$params = array(); 
foreach ($parameters as $name => $value) { 
$params[] = rawurlencode($name) . '=' . rawurlencode($value); 
} 
$strToSign = implode('&', $params); 
// Compute signature and add it to the parameters 
$parameters['Signature'] = 
rawurlencode(hash_hmac('sha256', $strToSign, $api_key, false)); 

// Build Query String 
$queryString = http_build_query($parameters, '', '&', PHP_QUERY_RFC3986); 
// Open Curl connection 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url."?".$queryString); 
// Save response to the variable $data 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $xmlPayload); 
$data = curl_exec($ch); 
// Close Curl connection 
curl_close($ch); 

if (isset($_POST['Submit'])) { 


} 

?> 

<form action="" method="post"> 

<input type="submit"> 
</form> 

所以我試圖發佈信息到URL,但我只是加載網站,它給了我係統內部錯誤。 無法繼續。

任何想法爲什麼我面臨這個問題?

回答

0

首先,如果您發佈的是XML數據,那麼您必須指定您在發佈數據中發送XML的服務器。我在你的代碼中看不到這個。

curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/xml; charset=utf-8')); 

其次,確保你正在準備你的$queryString東西正確。否則它可能會引發內部服務器錯誤。

最後,只是好奇,你確定在你的代碼的第一行<?php';