Сохраняйте файлы cookie, созданные в прочитанном файле, все еще существующие в следующем другом файле, прочитанном php

Итак, я хочу сделать вызов API с PHP из https://www.mangaeden.com/api/mymanga (я называю это «первым файлом»), чтобы получить мои личные данные (например, мой любимый комикс и т. д.) в формате JSON, но для этого мне нужно войти в систему из https://www.mangaeden.com/ajax/логин/?имя пользователя=xxx&пароль=xxx ( Я называю это «вторым файлом»), этот файл содержит программу для хранения файлов cookie, которая содержит мое имя пользователя и пароль, которые я дал из параметра URL.

Когда я запускаю первый файл с функцией cURL для отправки заголовка, заголовок, который также содержит данные файлов cookie, включая мое имя пользователя и пароль, успешно отправляется, но после этого, когда я вызываю второй файл для отправки моих личных данных, файл cookie не существует, поэтому мой файл данных не появляется.

function run_set_cookie_function_inside_this_file($file_url) {
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $file_url);
    curl_setopt($ch, CURLOPT_HEADER, true);
    curl_exec($ch);
    curl_close($ch);
}

// if this file is executed, the user's username and password will be stored in cookies
run_set_cookie_function_inside_this_file("https://www.mangaeden.com/ajax/login/?username=xxx&password=xxx");
// this file requires user's username and password which stored in cookies to return other data (example: user's favorite movie, pet, etc.)
echo file_get_contents("https://www.mangaeden.com/api/mymanga/");

Примечание: 2 файла (первый и второй) не мои, поэтому я не могу изменить программный код внутри

Это моя проблема, поэтому мой вопрос как сохранить файлы cookie, созданные в первом файле, во втором файле?

Извините за мой плохой английский и грязные предложения, которые трудно понять. Большое спасибо за помощь!

Вам нужно установить CURLOPT_COOKIEJAR и CURLOPT_COOKIEFILE (что, ИМХО, могло бы вам уже сказать небольшое базовое исследование, прежде чем спрашивать.)

04FS 19.06.2019 13:04

попробуйте мой последний ответ!

Baransel A. 19.06.2019 13:25
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
2
35
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий
                $ch = curl_init();
                curl_setopt($ch, CURLOPT_URL,'https://www.mangaeden.com/ajax/login/?username=xxx&password=xxx');
                curl_setopt($ch, CURLOPT_COOKIE, true);
                curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookies.txt');
                curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookies.txt');
                curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
                curl_exec($ch);

                $ch = curl_init();
                curl_setopt($ch, CURLOPT_URL,'https://www.mangaeden.com/api/mymanga/');
                curl_setopt($ch, CURLOPT_COOKIE, true);
                curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookies.txt');
                curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookies.txt');
                curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
                $output = curl_exec($ch);
                echo $output;
                curl_close($ch)

У меня есть что-то вроде этого входа в систему с первым завитком и запросом API со вторым!

Другие вопросы по теме