как с помощью 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,
);
Например вот так:
$ curl -X POST -d @fileName http://user:pass@host:port/path/toNeed/url
Попробуйте следующий вариант.
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.
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости