您好我正在尝试用cURL编程。 但还没有开始它还给我机智服务器内部错误。 cURL中的给定代码有什么问题吗?
<?php';
$now = new DateTime();
$url = "smsx.ia.com.my";
$parameters = array(
'UserID' => 'something@gmail..com',
'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 :(得分:0)
首先,如果要发布XML数据,则必须指定要在发布数据中发送XML的服务器。我无法在您的代码中看到这一点。
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/xml; charset=utf-8'));
其次,请确保您正确准备$queryString
件事。否则也可能引发内部服务器错误。
最后,只是好奇,您确定在代码的第一行';
之后<?php
了吗?