Как сделать цепочку запросов cURL в php, если во второй ссылке должны использоваться данные из первой?
Добрый день!
Суть такая: нужно сделать запрос, получить одноразовый токен, вставить его во вторую ссылку и получить уже ответ от неё. Если делать это двумя запросами по очереди - не отдаёт (токен выдаётся на 1 запрос).
Вопрос, это возможно сделать без curl_multi? Если нет, буду безумно благодарен, если подскажете пример curl_multi, где во вторую ссылку вставляются данные, полученные из первой.
Dmitry Tallmange, API построен так, что авторизация - одноразовая (сколько я понял)
Все последующие запросы к API должны быть сформированы с
использованием полученного в результате авторизации токена. Допускается однократная
авторизация перед выполнением серии из нескольких запросов.
Как я пытался:
первый запрос к /login?pass=pass&login=login.
Мне возвращается json, из которого достаю токен, создаю новое curl подключение, уже на /getData?token=token - результата 0. Ошибок curl нет, именно пустой ответ.
Чем больше знаю, тем лучше понимаю, как мало знаю.
Это называется persistent connection, и curl_multi() только помешает. Просто создаёте подключение $conn = curl_init();, быстренько пользуетесь им $result = curl_exec($conn); сколько влезет, а потом curl_close($conn);, и всё.
AUser0 Спасибо вам! Попробовал, проблема оказалась в некорректной обработке на стороне API, другие методы работают совершенно адекватно, по схеме, которую описал выше.
xmoonlight, спасибо за ответы!
Методом научного тыка понял, что именно несколько методов API работают не адекватно, возвращая пустоту там, где следовало бы отдать хоть какое-то сообщение (если пользователь в блокировке, то возвращают пустоту, при этом авторизуют его. Странная хрень). По советам вашим и комментатора выше пробовал другие методы - всё ок.