Запрос на сервер с помощью curl php

390
18 января 2017, 02:32

Хей! Упорно, но безуспешно пытаюсь достучаться до сервера с помощью curl. Хочу получить ответ но в итоге получаю сообщение о ошибки ключа api.

Вкратце, коннектиться пытаюсь по схеме как тут если конкретно пытаюсь перевести этот запрос в php. Запрос делаю с сервера без ssl сертификата.

GET https://mercury.postlight.com/parser?url=https://trackchanges.postlight.com/building-awesome-cms-f034344d8ed
    Content-Type: application/json
    x-api-key: SWN6wongtJ6krFOa4MHwzRsAzHcaruPqGkrDqH8A

Делаю это вот таким образом:

<?php
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://mercury.postlight.com/parser');
curl_setopt($curl, CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'Content-Type: application/json',
    'x-api-key: ********************'
    ));
curl_setopt($curl, CURLOPT_POSTFIELDS, 'url=http://www.velosite.ru/kak-vybrat-velosiped-dlja-vzroslogo/');
$out = curl_exec($curl);
echo $out;
curl_close($curl);

На что в ответ получаю:

{"message":"Missing Authentication Token"}

Что нужно поменять? Я что то совсем не понимаю :(

Answer 1

Инициализируете вы cURL в переменную $curl:

$curl = curl_init();

А вот настройки передаете в переменную $ch:

curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'Content-Type: application/json',
    'x-api-key: ********************'
));

В этом, собственно, и ошибка.

Также я советую вам убрать заголовок Content-Type: application/json банально потому, что он вам не нужен, а также в параметр CURLOPT_POSTFIELDS передавать не query-строку, а массив:

curl_setopt($curl, CURLOPT_POSTFIELDS, array('url' => 'http://www.velosite.ru/kak-vybrat-velosiped-dlja-vzroslogo/');

Если уж отправляете POST-запрос, то не забудьте задать параметр CURLOPT_POST равный true.

READ ALSO
аналог addShutdownHook

аналог addShutdownHook

Задача: Есть форма добавления изображений, файлов, текстовКогда заполняем форму и отправляем, сначала загружаются изображения, файлы, а только...

319
Symfony 3 авторизация

Symfony 3 авторизация

Здравствуйте, начал делать аутентификацию в проекте на Symfony 3(пишу на нем впервые) и столкнулся с такой проблемойПисал код на основе документации,...

876
preventDefault событие

preventDefault событие

Есть меню, подгружаю через jquery страницу php, содержащую форму, вот только js код игнорирует preventDefault и в итоге форма отправляется, и меня кидает...

390
Привести данные из таблицы в такую структуру ассоциативного массива

Привести данные из таблицы в такую структуру ассоциативного массива

Доброго времени сутокДабы не загружать Вас лишней информацией, вкратце и с примерами, опишу в чём проблема

295