3CX Войти через PHP

Я пытаюсь войти в 3cx AdminPanel через PHP.

Почтовый адрес, где я должен передать учетные данные

noonecares.com:5001/api/login Если я войду через браузер, запрос будет иметь следующие заголовки:

  • Принять: приложение / JSON, текст / обычный, /
  • Content-Type: применение / JSON; кодировка =UTF-8
  • Длина контента: # CONTENT_LENGTH #
  • Accept-Encoding: gzip, deflate, br
  • Происхождение: https://noonecares.com:5001/
  • Реферер: https://noonecares.com/
  • X-3CX-Version: 15.5.1694.0

Содержимое * (запрос полезной нагрузки)*: {Имя пользователя: "xxxxx", Пароль: "xxxxxx"}

В Php я тоже использую этот заголовок

    $opts = [
        "http" => [
            "method" => "POST",
            "header" =>
                "Accept:application/json, text/plain, */*\n\r" .
                "Accept-Encoding:gzip, deflate, br\n\r" .
                "Content-Type:application/json;charset=UTF-8\n\r" .
                "Origin:https://noonecares.com:5001\n\r" .
                "Referer:https://noonecares.com:5001\n\r" .
                "Content-Length:" . strlen($data) . "\n\r",

            "content" => json_encode(["Username" => "xxxxx","Password" => "xxxxxx"]),
        ]
    ];

И я пытаюсь отправить запрос со следующим кодом:

    $result = file_get_contents("noonecares.com:5001/api/login", false, stream_context_create($opts));

Но я всегда получаю "BAD REQUEST" в качестве ответа, и после нескольких попыток я получаю тайм-аут

привет Макс

1 ответ

Может быть, вы можете попробовать это:

$opts = [
    "https" => [

вместо

$opts = [
    "http" => [

Вы также можете попробовать это

$result = file_get_contents("https://noonecares.com:5001/api/login", false, stream_context_create($opts));
Другие вопросы по тегам