Возможно, на этот вопрос был дан ответ раньше, но я проверил все, что нашел в Интернете, и не смог заставить его работать ... Мне нужно сформировать такой запрос с PHP.PHP Curl и API
- завиток Х ПОСТ "https://page.com/login/CODE" \
- Н "Accept: применение/JSON, текст/*; д = 0,2" \
- Н "AcceptCharset: utf8" \
- Н «AcceptEncoding: GZIP, выкачать»\
- д '{ "appCode": "КОД"}' \
- --cacert cacert.pem \
- --compressed
Вот мой PHP код:
$data = array('appCode'=>'CODE');
$data_json = json_encode($data);
$curl = curl_init();
curl_setopt($curl, CURLOPT_CAINFO, "cacert.pem");
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($curl, CURLOPT_URL, URL_REQUEST);
curl_setopt($curl, CURLOPT_HEADER, FALSE);
curl_setopt($curl,CURLOPT_ENCODING , "");
//curl_setopt($ch, CURLOPT_POST, 1);
//curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($curl, CURLOPT_POSTFIELDS, $data_json);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
Если я получаю правильный ответ от API он должен быть массив JSON, Alse массаж Ошибка входа.
не получил понятия, что этот текст/*, д = 0,2" , любые предложения, что я делаю неправильно
Если кто-то будет нужно здесь код, который помог мне:?
$data = array('appCode'=>'CODE');
$data_json = json_encode($data);
$curl = curl_init();
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($curl, CURLOPT_CAINFO, "cacert.pem");
curl_setopt_array($curl, array(
CURLOPT_URL => "https://login.com/CODE",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => $data_json,
CURLOPT_HTTPHEADER => array('cache-control: no-cache'),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
в конце концов я нашел то, что было неправильно.
Я получил все руководство в PDF-файл. я копировал информацию заголовка из PDF и вставить его в Sublime Когда я копирую и информацию заголовка пасты как этот Content-Type: применение/JSon
На возвышенной было показано, как правило, с тире (-), но когда я открыл с другим программным обеспечением, например блокнотом ++ это показывало без тир. ТипСодержимые: применение/JSON
Это была проблема, почему мой код не работает :)
текст/*; q = 0.2 "называется фактором качества носителя и используется для присвоения приоритета файлам, в этом случае обычный текст имеет точность 0,2 по шкале от 0 до 1 –
Может быть, это причина, по которой ее не работает ? – ekavet
нет, вы не задаете все параметры, необходимые для вашего завитка –