10/10/2018, 09:35
Giúp đỡ về CURL cái nào
Híc. Trước đã đọc document về cái thư viện này rồi. Nay mới có dịp dùng. Thế mà làm hoài ko xong. Bác nào có kinh nghiệm giúp cái.
Tình Huống: Tôi có 1 trang login, và 1 trang chưa nội dung sau khi login mới xem dc. Vấn đề ở đâu sau khi post thông số login lên thì server lưu trữ thông tin login bằng cả cookie và session.
Hỏi: Sau khi post thông số login lên trang đăng nhập làm thế nào save cookie và khi mở trang content lên thì cái cookie dc save kia dc đẩy lên server để server check đã login rồi. (để xem nội dung trang content). Tôi đã test vài lần mà sau khi login, chạy đến trang content để đọc nội dung thì ko thấy cookie và session đã tạo ở trang login đâu cả ==> coi như chưa login và ko đọc dc nội dung.
Bác nào help me cái. Thanks trước.
Tình Huống: Tôi có 1 trang login, và 1 trang chưa nội dung sau khi login mới xem dc. Vấn đề ở đâu sau khi post thông số login lên thì server lưu trữ thông tin login bằng cả cookie và session.
Hỏi: Sau khi post thông số login lên trang đăng nhập làm thế nào save cookie và khi mở trang content lên thì cái cookie dc save kia dc đẩy lên server để server check đã login rồi. (để xem nội dung trang content). Tôi đã test vài lần mà sau khi login, chạy đến trang content để đọc nội dung thì ko thấy cookie và session đã tạo ở trang login đâu cả ==> coi như chưa login và ko đọc dc nội dung.
Bác nào help me cái. Thanks trước.
Bài liên quan
Bạn hỏi về CURL trong PHP phải không ?
Mình thấy bên http://s4u.vnexpress.net/diendan/forumdisplay.php?f=55 có nhiều cao thủ PHP lém đó. Bạn post bài hỏi thử xem.
Hông phải khoe website với bạn đâu nhá.
Chào
Up lên nào. Giúp cái
Đây là file để login, lưu cookie lại. Cookie sẽ được lưu ở file cookies.txt
<?php
$username = 'user';
$password = 'pass';
$refererUrl = 'http://ddth.com/';
$loginUrl = 'http://ddth.com/login.php?do=login';
$postFields = array(
"vb_login_username={$username}",
"vb_login_password={$password}",
"securitytoken=guest",
"do=login",
"cookieuser=1"
);
$cookieFile = dirname(__FILE__).DIRECTORY_SEPARATOR.'cookies.txt';
// Initialize CURL
$curl = curl_init($loginUrl);
// Set CURL cookie option
curl_setopt($curl, CURLOPT_COOKIEJAR, $cookieFile);
curl_setopt($curl, CURLOPT_COOKIEFILE, $cookieFile);
// Custom HTTP referer for CURL Request
curl_setopt($curl, CURLOPT_REFERER, $refererUrl);
// Get the response as a string from curl_exec()
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
// Don't use a cached version of the url
curl_setopt($curl, CURLOPT_FRESH_CONNECT, 1);
// Custom HTTP User agent
curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER***91;'HTTP_USER_AGENT'***93;);
// Change request method to POST
curl_setopt($curl, CURLOPT_POST, true);
// Send post data
curl_setopt($curl, CURLOPT_POSTFIELDS, implode('&', $postFields));
// Return headers
curl_setopt($curl, CURLOPT_HEADER, 1);
// Send request to login
curl_exec($curl);
?>
<?php
$forumUrl = 'http://ddth.com/';
$cookieFile = dirname(__FILE__).DIRECTORY_SEPARATOR.'cookies.txt';
$curl = curl_init();
// Set CURL cookie option
curl_setopt($curl, CURLOPT_COOKIEJAR, $cookieFile);
curl_setopt($curl, CURLOPT_COOKIEFILE, $cookieFile);
curl_setopt($curl, CURLOPT_URL, $forumUrl);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_HEADER, 0);
echo curl_exec($curl);
?>
Dù dù cảm ơn bac binhvn rất nhiều.