curl login ไปแล้วไม่เก็บค่า session เอาไว้ ส่ง curl อีกครั้งเพื่อเซฟค่า [ต้องใช้ Session] แล้วไม่พบ session ต้องแก้ยังไงหรอครับ
ครั้งแรกผมได้ทำการ curl เพื่อเข้าไปเพื่อ login : login สำเร็จ
ครั้งที่สอบผมจะส่งค่าเพื่อเข้าไปเซฟด้วย curl แต่เว็บแจ้งว่าไม่พบ session
ทั้งสองคำสั่งอยู่หน้าเดียวกันผมควรทำยังไงให้ curl มันเก็บ session ไว้หรอครับ
Code (PHP)
<?php
function Sendcurl($url, $data) {
$ch1 = curl_init();
curl_setopt($ch1, CURLOPT_URL, $url);
curl_setopt($ch1, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch1, CURLOPT_SSL_VERIFYPEER, false);
if ($data) {
curl_setopt($ch1, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch1, CURLOPT_POSTFIELDS, $data);
}
curl_setopt($ch1, CURLOPT_COOKIE, true);
curl_setopt($ch1, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch1, CURLOPT_USERAGENT, 'okhttp/3.8.0');
$result = curl_exec($ch1);
return $result;
}
$data = array(
"email" => '[email protected] ',
"password" => '1234'
);
if(Sendcurl('https://domain.go.th/login', $data) == Success)
{
$data = array(
"save" => 'test'
);
if(Sendcurl('https://domain.go.th/save', $data) == Login)
echo 'Need session';
}
else
echo 'Login Error';
?>
ขอบคุณครับTag : PHP, HTML, CSS, HTML5
ประวัติการแก้ไข 2019-02-03 08:16:19 2019-02-03 15:34:47
Date :
2019-02-03 01:20:31
By :
kiznick
View :
1340
Reply :
2
เพิ่มโค๊ดตัวอย่างแล้วนะครับจะได้เข้าใจมากขึ้น
Date :
2019-02-03 15:03:40
By :
kiznick
เขียน curl ใน function ให้ประกาศตัวแปร ของ curl ไว้เป็น global
อย่าใช้ local variable เพราะพอออกจาก function ตัวแปรในนั้นก็จะถูก ปิดไปทั้งหมด
session ก็จะหลุดไปด้วย
และเวลาทำงาน ก็ไม่ต้องปิดมัน ใช้งานมันให้คุ้ม จนกว่าจะเสร็จ ค่อยปิด connection
ให้มอง มันเหมือนกับ browser ถ้าเราปิด browser เมื่อไหร่ session ก็หลุดทันที่
แต่ถ้าเขียน ร่วมด้วยกับ cookie ก็จะปิด curl ได้ ก็ลองเสริชหา เอาหน่อย ว่าใช้งาน กับ cookie ยังไง
มันอยู่ที่ฝั่ง server ด้วย จัด cookie ไว้ด้วยหรือเปล่า ถ้าไม่จัด cookie ไว้ให้ ก็ห้ามปิด curl
Date :
2019-02-04 00:21:57
By :
Chaidhanan
Load balance : Server 04