@sibspace

Как отправить запрос методом POST на адрес ROOT URL?

Как отправить POST запрос следующего вида:

POST /gate/ki-site-api/ HTTP/1.1
Host: api.site.ru
Cache-Control: no-cache
Content-Type: application/x-www-form-urlencoded

id=get_pdf&username=username&params=...


Пробую сделать так:
<?
ini_set('display_errors',1);
error_reporting(E_ALL);
$url = 'https://api.site.ru/gate/sie-api/';
$data = array('id' => 'make_pdf', 'username' => 'username','account_id' =>'1152289', 'period_id' => '201705');

$params = array(
    'http' => array(
	
        'header'  => "Content-type: application/x-www-form-urlencoded\r\n",
        'method'  => 'POST',
        'content' => http_build_query($data)
    )
);
$context  = stream_context_create($params);
$result = file_get_contents($url, true, $context);
if ($result === FALSE) 

var_dump($result);

?>


Получаю ответ:
HTML> string(51) "{"err_msg": "Authorization failed.", "err_code": 1}"


Из документации:
Для того, чтобы обратиться к конкретному методу API, Вам необходимо отправить запрос методом POST на адрес ROOT URL. Этот запрос должен содержать следующие обязательные параметры:

id - идентификатор метода, который Вы намерены вызвать. Например, get_main_id. См. раздел соответствующей группы методов.

username - ваше имя пользователя - username.


Не могу понять как пройти авторизацию и получить нужные данные.
  • Вопрос задан
  • 607 просмотров
Решения вопроса 1
@sibspace Автор вопроса
Проблема с авторизаций была связана с тем, что запрос нужно было отправлять с определенного сайта.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
thewind
@thewind
php программист, front / backend developer
Так у вас имя пользователя прямо username?? Вам пишут что авторизация не пройдена
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы