Из php скрипта пытаюсь выполнить следующий код:
Код: Выделить всё
$http = ['method' => 'POST',
'header' => 'Content-Type: application/json'."\r\n".
'Authorization: Basic '.base64_encode("Admin:password")."\r\n",
'content' => json_encode(['Command'=>'List'])
];
$stream = stream_context_create(['http'=>$http]);
$result = file_get_contents("http://176.99.99.99:5893/Execute/sync",false, $stream);
print_r([$http_response_header,$result]);
Код: Выделить всё
Array ( [0] => Array ( [0] => HTTP/1.0 401 Unauthorized [1] => Access-Control-Allow-Origin: * [2] => WWW-Authenticate: Basic realm="Please login!" [3] => content-length: 0 ) [1] => )
Причем в логе сервера нет записи о выполнении команды когда я получаю список устройств.
А когда я получаю ответ Unauthorized, в логе следующее:
Код: Выделить всё
Текст команды:
ver: 2.1.22.19
Host: 176.99.99.99:5893
Connection: close
Content-Length: 18
Content-Type: application/json
Authorization: Basic QWRtaxxxxxxTU0dA==
{"Command":"List"}
Текст ошибки:
Ссылка на объект не указывает на экземпляр объекта.
Низкоуровневые команды:
Нет HTTP ответа
Код: Выделить всё
$http = ['method' => 'POST',
'header' => 'Authorization: Basic '.base64_encode("Admin:password"),
'contentType' => 'application/json; charset=UTF-8',
'content' => json_encode(['Command'=>'GetDataCheck',
'NumDevice'=>'1',
'FiscalNumber'=>'0',
'IdCommand'=>'256bb056-156f-722c-2337-037611eff566e',
'NumberCopies'=>'0'])
];
Аналогичная проблема.
Что я делаю не так? Логин пароль я передаю в запросе всегда, а проходит авторизация не каждый раз.