За последние 24 часа нас посетили 20083 программиста и 1722 робота. Сейчас ищут 1574 программиста ...

сквозная авторизация на curl

Тема в разделе "PHP для профи", создана пользователем Kvandaik, 11 июл 2018.

  1. Kvandaik

    Kvandaik Новичок

    С нами с:
    5 июл 2018
    Сообщения:
    121
    Симпатии:
    1
    <?php
    // Задаем адрес удаленного сервера
    $curl = curl_init("https://helpdesk.*******.ru:80**/inframanager/sdApi/registerCallEngineer");
    // Передача данных осуществляется методом POST
    curl_setopt($curl, CURLOPT_POST, 1);
    // Задаем POST-данные
    $data = 'UserID=b105380a-389c-4c1d-842f-b5ce4c229d5b&CallTypeID=00000000-0000-0000-0000-000000000000&UrgencyID=&CallSummaryName=%D0%97%D0%B0%D1%8F%D0%B2%D0%BA%D0%B0&HTMLDescription=%D0%97%D0%B0%D1%8F%D0%B2%D0%BA%D0%B0+%D1%82%D0%B5%D1%81%D1%82&ServiceItemID=1d3338fa-8217-4f7c-a1b2-80525c8e74da&ServiceAttendanceID=&KBArticleID=&PriorityID=&InfluenceID=&HTMLSolution=&RFCResultID=&IncidentResultID=&ReceiptType=0&InitiatorID=&OwnerID=&ExecutorID=&QueueID=&AccomplisherID=&signalR_connectionID=59d8034c-897c-40e5-9287-62197abe66de';
    curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
    // Выполняем запрос и выводим ответ в браузер
    curl_exec($curl);
    // Закрываем CURL соединение
    curl_close($curl);
    ?>

    выдаёт ошибку {"Message":"Authorization has been denied for this request."} Вопрос как предварительно авторизоваться на сайте прежде чем слать $data=" ". PS лучше бы сквозную т.к апатч настроен брать логин при входе на компьютер т.к все системы в одном домене.
     
  2. SQLPowerUser

    SQLPowerUser Активный пользователь

    С нами с:
    11 дек 2017
    Сообщения:
    5
    Симпатии:
    1
    Тоже недавно мучился с curl...
    Из командной строки работает, а с цепочкой команд типа
    PHP:
    не хочет и всё тут.
    Поэтому скопировал из командной строки, а в PHP запустил через shell_exec. Всё заработало.
    Если сервер работает под Windows, то в тексте командной строки надо заменить кавычки
    "
    на
    \"
     
    Kvandaik нравится это.
  3. Kvandaik

    Kvandaik Новичок

    С нами с:
    5 июл 2018
    Сообщения:
    121
    Симпатии:
    1
    $headers = stream_context_create(array(
    'http' => array(
    'method' => 'POST',
    'header' => 'Content-Type: application/x-www-form-urlencoded' . PHP_EOL,
    'content' => 'login=admin&password=1234',
    ),
    ));

    echo file_get_contents('https://vk.com', false, $headers);
    вот это в вк сейчас не пашет. да https отдельная тема сертификат подпихивать надо. разбираться много чего. у меня другой сайт и там много ссылок для авторизации один для отправки данных другой