Amazon Marketplace - MD5 контент-заголовок XML в скручиваемости

Попытка отправки через запрос на _POST_PRODUCT_DATA_ с использованием канала XML и отправка через cURL.

Я получаю ошибку;

SenderContentMD5DoesNotMatch: HTTP-заголовок Content-MD5, который вы передали для своего канала, не соответствует 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 ответ

Я думаю, что ваша строка XML должна быть хэширована в необработанном двоичном формате, чтобы она работала с MWS.

base64_encode(md5($xml,true))
Другие вопросы по тегам