10/10/2018, 09:29

save cookie với curl trong php?

Cho mình hỏi đoạn code này sai chỗ nào mà ko save lại cookie vào file cookie.txt được

Code:
<?php
$url = 'http://www.ddth.com/';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_COOKIEFILE,'cokie.txt');
curl_setopt($ch,CURLOPT_COOKIEJAR,'cokie.txt');
$return = curl_exec($ch);
curl_close ($ch);
?>
Mahakaruna viết 11:30 ngày 10/10/2018
Phải dùng đường dẫn tuyệt đối.

Thử :

Code:
$filename = 'cookie.txt';
$abs_path = dirname (realpath(__FILE__)).'/'.$filename; 
$url = 'http://www.ddth.com/';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_COOKIEFILE,$abs_path);
curl_setopt($ch,CURLOPT_COOKIEJAR,$abs_path);
$return = curl_exec($ch);
curl_close ($ch);
khuongCOMPUTER viết 11:38 ngày 10/10/2018
Phải dùng đường dẫn tuyệt đối.
Ai nói vậy?
Đã CHMOD cho 777 để ghi file chưa?
ttn47 viết 11:34 ngày 10/10/2018
mình thử trên localhost nhưng ko được
pixelart viết 11:43 ngày 10/10/2018
dùng đường dẫn tuyệt đối dạng $_SERVER['DOCUMENT_ROOT'].'/tenfolder/a.txt'
chmod thư mục đặt cookie
khuongCOMPUTER viết 11:38 ngày 10/10/2018
Chỉnh lại đoạn mã này rồi dùng xem:
<?php

$id = "abc";
$pw = "abc";

$LOGINURL = "http://abc.com/login.php";
$GETURL = "http://abc.com/user.php";
$POSTFIELDS = "id=$id&pw=$pw";

function AUTH_SITE_COOKIE_STORE($LOGINURL,$POSTFIELDS)
{
$parseURL = parse_url($LOGINURL);

$ch = curl_init();
curl_setopt($ch, CURLOPT_COOKIEJAR, "$parseURL[host].cookie");
curl_setopt($ch, CURLOPT_URL,"$LOGINURL");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "$POSTFIELDS");

ob_start();
curl_exec ($ch);
ob_end_clean();

curl_close ($ch);
return "$parseURL[host].cookie";
}

function AUTH_SITE_GET($GETURL,$cookieFile)
{
$parseURL = parse_url($GETURL);

$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_COOKIEFILE, "$cookieFile");
curl_setopt($ch, CURLOPT_URL,"$GETURL");
$result = curl_exec ($ch);
curl_close ($ch);

$fp = fopen ("$parseURL[host].html", "w");
fwrite($fp,$result);
fclose ($fp);

return $result;
}

$cookieFile = AUTH_SITE_COOKIE_STORE($LOGINURL,$POSTFIELDS);
echo $result = AUTH_SITE_GET($GETURL,$cookieFile);

?>
ttn47 viết 11:41 ngày 10/10/2018
Được rồi, cám ơn mấy bạn nhìu lắm :x

[=========> Bổ sung bài viết <=========]

cho mình hỏi thêm là tại sao có trang thì save cookie được, có trang thì không
thuyan118 viết 11:30 ngày 10/10/2018
cho em hỏi chút xíu: "curl bản chất là để làm gì? khi nào thì sử dụng? ".
Bài liên quan
0