亚马逊商城 - 卷曲中的XML的MD5内容标题

时间:2015-06-12 10:32:17

标签: php xml curl md5 amazon-marketplace

尝试使用XML Feed发送_POST_PRODUCT_DATA_请求并通过cURL发送。

我收到了错误;

SenderContentMD5DoesNotMatch您为Feed传递的Content-MD5 HTTP标头与我们为您的Feed计算的Content-MD5不匹配

我已经获取了XML的输出并通过Amazon暂存器传递了它,MD5的结果与我使用XML并通过在线MD5哈希创建器运行时相同。

但是当我在服务器上输出md5($ xml)的结果时,结果是不同的 - 我无法解决这个问题。

这是用于创建cURL请求的代码;

$ch = curl_init();
curl_setopt($ch,CURLOPT_URL, $curlToSend);
curl_setopt($ch,CURLOPT_POST, 1);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$xml);
curl_setopt($ch,CURLOPT_HTTPHEADER, array("Content-Type: text/xml","Content-MD5: ".base64_encode(md5($xml)),"x-amazon-user-agent: MyScriptName/1.0"));
$result = curl_exec($ch);
curl_close($ch);

其中$ curlToSend是POST请求,$ xml显然是源的$ xml代码。

任何人都可以帮忙!?

1 个答案:

答案 0 :(得分:0)

我认为您的XML字符串应该以原始二进制格式进行哈希处理,以便与MWS一起使用。

base64_encode(md5($xml,true))