<?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 лучше бы сквозную т.к апатч настроен брать логин при входе на компьютер т.к все системы в одном домене.
Тоже недавно мучился с curl... Из командной строки работает, а с цепочкой команд типа PHP: curl_init... curl_setopt... curl_exec($curl); не хочет и всё тут. Поэтому скопировал из командной строки, а в PHP запустил через shell_exec. Всё заработало. Если сервер работает под Windows, то в тексте командной строки надо заменить кавычки " на \"
$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 отдельная тема сертификат подпихивать надо. разбираться много чего. у меня другой сайт и там много ссылок для авторизации один для отправки данных другой