kot2566
@kot2566

Как переписать запрос с js на PHP?

Ниже приведена пакетная отправка запросов на node.js, я не понимаю как переписать его на PHP с использованием обычного CURL или GuzzleHttp.
А именно, как правильно заполнить параметр multipart.

let lines = ['https://example1.com', 'https://example2.com'];

const items = lines.map(url=> {
        return {
          'Content-Type': 'application/http',
           'Content-ID': '',
          body:
              'POST /v2/publish HTTP/1.1\n' +
              'Content-Type: application/json\n\n' +
              JSON.stringify({
                url: url,
                type:  'updated'
              })
        };
      });

      const options = {
        url: 'https://api.mysite.com',
        method: 'POST',
        headers: {
          'Content-Type': 'multipart/mixed'
        },
        multipart: items
      };
	  
      request(options, (err, resp, body) => {
        console.log(body);
      });


Моя попытка с помощью GUzzleHttp:
$response = $httpClient->request('POST', $endpoint, [
    'headers' => [
        'Content-Type' => 'multipart/mixed',
    ],

    'multipart' => [
        [
            'headers' => [
                'Content-Type' => 'multipart/http',
                'Content-ID' => ''
            ],
            'body' => 'POST /v2/publish HTTP/1.1\n' .
                'Content-Type: application/json\n\n' .
                $json
        ],
    ]
]);
  • Вопрос задан
  • 125 просмотров
Пригласить эксперта
Ответы на вопрос 1
@TheAndrey7
Что на JS, что на PHP у вас лютая дичь, будто работаете с протоколом HTTP на уровне сокетов...
Там довольно всё просто, даже заголовок Content-Type выставит автоматически.
https://docs.guzzlephp.org/en/stable/request-optio...

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

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы