Как отправить данные через POST?

Ссылка скопирована
PHP
1 ответ

Вот сюда нужно отправить https://amanat.ru/api/v1/doc/

Я вот так отправляю, там написано должен быть ответ, никакого ответа нет, $result пустой, может я что не так делаю? У них техподдержка уже два дня молчит, там в общем тяжёлый случай.

<?php $products_json = '{ 	"token": "demo-bmLBmwvoaIDRQbVuykEHpOX6fEg14T", 	"data": [ 		{ 			"product_id": "131", 			"title": "Кофеварка", 			"desc": "апвапва вап вап вап ", 			"price": "10000", 			"image_1": "https://elbit.ru//upload/iblock/bf2/1yb4p2csmjp6n9q2fnh2ueb4ujac2x00.jpeg", 			"brand": "ываыва", 			"color": "бежевый", 			"category": "8", 		} 	] }';  $result = file_get_contents('https://amanat.ru/api/v1/uploadProducts', null, stream_context_create(array(             'http' => array(                 'method' => 'POST',                     'header' => array(                         "Content-Type: application/json; charset=utf-8rn" .                         "Content-Length: " . strlen($products_json) . "rn" .                         "Host: amanat.ru"                     ),                 'content' => $products_json             )         )     ) );   header('Content-Type: application/json; charset=UTF-8'); echo $result; ?>

<?php $products_json = '{ "token": "demo-bmLBmwvoaIDRQbVuykEHpOX6fEg14T", "data": [ { "product_id": "131", "title": "Кофеварка", "desc": "апвапва вап вап вап ", "price": "10000", "image_1": "https://elbit.ru//upload/iblock/bf2/1yb4p2csmjp6n9q2fnh2ueb4ujac2x00.jpeg", "brand": "ываыва", "color": "бежевый", "category": "8", } ] }'; $result = file_get_contents('https://amanat.ru/api/v1/uploadProducts', null, stream_context_create(array( 'http' => array( 'method' => 'POST', 'header' => array( "Content-Type: application/json; charset=utf-8rn" . "Content-Length: " . strlen($products_json) . "rn" . "Host: amanat.ru" ), 'content' => $products_json ) ) ) ); header('Content-Type: application/json; charset=UTF-8'); echo $result; ?>

После передачи товаров, API выдаст нескольковариантов ответа:

Unauthorized - ошибка токена.
Error: no data - отсутствует ключ data или он пуст.
Success - успешная выгрузка. При наличии товаров, выгрузка которых не удалась, эти товары будут отображены.

Дополнительно:

Код ответа то какой?

  • пусто в ответе
  • Дмитрий, я обновил основной вопрос, взял их собственный пример JSON и привёл целиком код отпавки, вовзвращает пустую страницу
  • Sergey768628, и что? http код ответа то какой?
  • Дмитрий,
    я не знал что так можно посмотреть код ответа var_dump($http_response_header);
    array(11) {   [0]=>   string(34) "HTTP/1.1 500 Internal Server Error"   [1]=>   string(30) "Server: nginx-reuseport/1.21.1"   [2]=>   string(35) "Date: Sat, 07 Oct 2023 13:03:04 GMT"   [3]=>   string(38) "Content-Type: text/html; charset=utf-8"   [4]=>   string(17) "Connection: close"   [5]=>   string(12) "Vary: Origin"   [6]=>   string(31) "X-Content-Type-Options: nosniff"   [7]=>   string(28) "Referrer-Policy: same-origin"   [8]=>   string(39) "Cross-Origin-Opener-Policy: same-origin"   [9]=>   string(38) "X-Powered-By: Phusion Passenger 4.0.60"   [10]=>   string(33) "Status: 500 Internal Server Error" }

    array(11) { [0]=> string(34) "HTTP/1.1 500 Internal Server Error" [1]=> string(30) "Server: nginx-reuseport/1.21.1" [2]=> string(35) "Date: Sat, 07 Oct 2023 13:03:04 GMT" [3]=> string(38) "Content-Type: text/html; charset=utf-8" [4]=> string(17) "Connection: close" [5]=> string(12) "Vary: Origin" [6]=> string(31) "X-Content-Type-Options: nosniff" [7]=> string(28) "Referrer-Policy: same-origin" [8]=> string(39) "Cross-Origin-Opener-Policy: same-origin" [9]=> string(38) "X-Powered-By: Phusion Passenger 4.0.60" [10]=> string(33) "Status: 500 Internal Server Error" }

  • Sergey768628, ну внимательно смотрим на HTTP/1.1 500 Internal Server Error. На сервере на который вы лезете - ошибка.
  • Дмитрий, а я вроде бы всё по докмументации отправляю как в их примере, это их глюк значит?
  • Sergey768628, ну то что создателям API есть что подправить - ну да. api не должен падать с 500.
    но и вы явно что то не то шлете.
  • Дмитрий, ну как же я шлю их пример, или я не правильно отправляю?
  • Sergey768628, ну как бы либо не правильно шлете, либо не правильно документация работает, либо сервис в принципе не работает.
  • "category": "8",

    попробуй убрать запятую тут, это не считается валидным json, например php json_decode его не распознает

    • да я уже проверил в валидаторе, но там оказалось ошибки и со стороны сервера, техподдержка проснулась.

    Ответы:

    file_get_contents вообще далеко не всегда вообще работает как хочется. я бы использовал cURL как более настраиваемую библиотеку.

    Нужно решить такую задачу?

    Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

    Заказать помощь
    Лучший ответ
    1
    Кирилл JS Ответ

    Для отправки данных через метод POST веб-формы в PHP, вам необходимо создать HTML-форму с атрибутом method="post" и указать целевой скрипт обработки формы в атрибуте action.

    Пример HTML-формы для отправки данных через POST:

     
     
     
        <button type="submit">Submit</button>

    <button type="submit">Submit</button>

    В данном примере, данные из полей "username" и "password" будут отправлены на скрипт process.php методом POST.

    Далее, в файле process.php вы можете получить отправленные данные с помощью суперглобального массива $_POST:

    $username = $_POST['username'];
    $password = $_POST['password'];
     
    // Далее можно выполнить необходимые операции с полученными данными

    $username = $_POST['username']; $password = $_POST['password']; // Далее можно выполнить необходимые операции с полученными данными

    Помните, что данные, отправляемые через POST, не отображаются в URL-адресе, в отличие от метода GET, что делает их более безопасными для отправки чувствительной информации, такой как пароли. Также не забудьте обработать и проверить данные, полученные из формы, перед их использованием в вашем скрипте для безопасности и целостности данных.

    Другие ответы (0)

    Пока нет других ответов. Будьте первым, кто поможет автору.

    Ответить на вопрос

    комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Вам также может быть интересно