Nano Hash - криптовалюты, майнинг, программирование

Получение ошибки в образце кода API продукта Amazon (PHP)

Я скачал Product Advertising PHP Soap Library< /strong> и просматривал примеры кодов. Я настроил значения «AWS_API_KEY», «AWS_API_SECRET_KEY», «AWS_ASSOCIATE_TAG», «AWS_ANOTHER_ASSOCIATE_TAG» в файле sampleSettings.php. Я получаю указанную ниже ошибку в своем браузере при попытке доступа к «sampleItemSearch.php».

SOAP-ERROR: анализ WSDL: не удалось загрузить с 'http://webservices.amazon.com/AWSECommerceService/AWSECommerceService.wsdl': ожидаемый начальный тег, '‹' не найден

Я пытался получить помощь по ссылке: https://forums.aws.amazon.com/thread.jspa?messageID=270273, но это не сработало.

Примечание. Я попытался запустить указанный ниже URL-адрес в браузере и получил следующий результат:

$request="http://webservices.amazon.com/onca/xml?Service=AWSECommerceService&AssociateTag=ASSOCIATETAG01-20&AWSAccessKeyId=MY_ACCESS_KEY_ID&Operation=ItemSearch&Version=2011-08-01&SearchIndex=Books&Keywords=harry%20potter&Timestamp=2013-04-10T12%3A44%3A42.000Z&Signature=ASasd5645AdSG878asdHsaHJ9YTefl1F6i0%3D";

Пожалуйста, предложите, что мне делать.


Ответы:


1

Я решил это наконец. Ниже указанный код работает нормально.

    AWSAccessKeyId   = "*******************";
    $SecretAccessKey = "******************************";
    $AssociateTag    = "***************";

    $ItemId = '****'; //10 or 13 digit isbn
    $Timestamp = gmdate("Y-m-d\TH:i:s\Z");
    $Timestamp = str_replace(":", "%3A", $Timestamp);
    $ResponseGroup = "ItemAttributes,Images";
    $ResponseGroup = str_replace(",", "%2C", $ResponseGroup);


    $String = "AWSAccessKeyId=$AWSAccessKeyId&AssociateTag=$AssociateTag&IdType=ISBN&ItemId=$ItemId&Operation=ItemLookup&ResponseGroup=$ResponseGroup&SearchIndex=Books&Service=AWSECommerceService&Timestamp=$Timestamp&Version=2011-08-01";

    $String = str_replace("\n", "", $String);

    $Prepend = "GET\nwebservices.amazon.com\n/onca/xml\n";
    $PrependString = $Prepend . $String;

    $Signature = base64_encode(hash_hmac("sha256", $PrependString, $SecretAccessKey, True));

    $Signature = str_replace("+", "%2B", $Signature);
    $Signature = str_replace("=", "%3D", $Signature);

    $BaseUrl = "http://webservices.amazon.com/onca/xml?";
    $SignedRequest = $BaseUrl . $String . "&Signature=" . $Signature;

    $XML  = simplexml_load_file($SignedRequest);

    print_r($xml); // output
27.07.2013
  • Вы должны использовать urlencode() вместо str_replace, меньше кода, более эффективно! 17.11.2013
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..


    © 2024 nano-hash.ru, Nano Hash - криптовалюты, майнинг, программирование