尝试使用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代码。
任何人都可以帮忙!?
答案 0 :(得分:0)
我认为您的XML字符串应该以原始二进制格式进行哈希处理,以便与MWS一起使用。
base64_encode(md5($xml,true))