因此,我想用https://www.mangaeden.com/api/mymanga(我称为“第一个文件”)中的PHP进行API调用,以JSON格式检索我的个人数据(例如,我最喜欢的漫画等),但是要这样做我必须从https://www.mangaeden.com/ajax/login/?username=xxx&password=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仍然存在于第二个文件中?
对不起,我的英语不好,句子很难理解。 非常感谢您的帮助!
答案 0 :(得分: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)
我有类似这样的登录名,第一个curl和第二个请求api!