как отправить файл через curl на php

230
08 декабря 2021, 23:20

как с помощью curl перепрошить камеру?

Инструкция

Syntax http:///cgi-bin/upgrader.cgi?action=uploadFirmware

Method POST

Description Use this message to upload the firmware, and when the device receiving all the data successfully, it will start to upgrade the device, and then use the getState method to get the state.

Example

POST /cgi-bin/upgrader.cgi?action=uploadFirmware HTTP/1.1

Host: 192.168.1.108

Connection: keep-alive

Content-Type: multipart/form-data; boundary=---------------------------8655433224198

Content-Length: xxxxxxxxx

-----------------------------8655433224198

Content-Disposition:form-data;name="upgrade"; filename= "xxxxxx.bin"

Content-Type: application/octet-stream

Firmware data . -----------------------------8655433224198--

мой код

 $postdata = array(
  'Host' => "127.0.0.1",
  'Connection'=> "keep-alive",
  'Content-Type'=> "multipart/form-data; boundary=---------------------------8655433224198",
  'Content-Length'=> strlen($file),
  'Content-Disposition'=>'form-data;name="upgrade"; filename= "@xxx.bin"',
  'Content-Type'=> "application/octet-stream",
  'Firmware data' . "-----------------------------8655433224198--"
);


$options = array(
          CURLOPT_URL            => $url,
          CURLOPT_USERPWD        => $user . ":" . $pass,
          CURLOPT_RETURNTRANSFER => true,
          CURLOPT_TIMEOUT => 2,
          CURLOPT_POSTFIELDS => $postdata,
          CURLOPT_CONNECTTIMEOUT => 4,
  );
Answer 1

Например вот так:

$ curl -X POST -d @fileName http://user:pass@host:port/path/toNeed/url
Answer 2

Попробуйте следующий вариант.

curl -X POST -H "Content-Type: multipart/form-data; boundary=----------------------------8655433224198" -F "data=@xxxxxx.bin" -H "Content-Disposition: form-data; name=\"upgrade\"; filename=\"xxxxxx.bin\"" -H "Content-Type: application/octet-stream" "https://.../cgi-bin/upgrader.cgi?action=uploadFirmware/" -v

Для вывода лога используется ключ -v.

READ ALSO
Рандомный фон GD php

Рандомный фон GD php

Так работает, черный фон, белые буквы

76
Отслеживать открытия письма

Отслеживать открытия письма

Есть скрипт который генерирует HTML письма с с пикселем, почтовые сервера пропускают img через свой прокси и соответственно у меня в скрипте,...

90
Почему PDO query возвращает false?

Почему PDO query возвращает false?

Почему var_dump($result) возвращает false? Данные вроде верно, несколько раз проверил

173
Случайный сундук, поиск параметров

Случайный сундук, поиск параметров

Всем привет! Я делаю рулетку для одного учебного проектаТак, вот у меня есть кейс с ценой в 59₽, в нём расположены предметы:

193