0

curl を使用して Web サイトにログインします。正常にログインします。今、セッションが生きているかどうか、セッションのステータスを知りたいです。ユーザーはログイン後に別のページのリクエストを送信する可能性があるためです。私のコードはこちらです。ありがとう

$url="https://mywebsite.com/login.pl";
$ch = curl_init();
curl_setopt ($ch, CURLOPT_COOKIEJAR, 'cookies.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookies.txt');
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_POST, 1);
curl_setopt ($ch, CURLOPT_POSTFIELDS, "username=xxxxxx&passwd=xxxxx&client=xxxxx");
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_MAXREDIRS, 4);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
$store = curl_exec ($ch);
curl_close ($ch);
4

1 に答える 1

0

次のようなCookieを取得し、次のリクエストで使用する必要があります。

curl_setopt($ch,    CURLOPT_COOKIE,         $cookie); 
curl_setopt($ch,    CURLOPT_AUTOREFERER,    true); 
curl_setopt($ch,    CURLOPT_COOKIESESSION,  true); 
curl_setopt($ch,    CURLOPT_FAILONERROR,    false); 
curl_setopt($ch,    CURLOPT_FOLLOWLOCATION, false); 
curl_setopt($ch,    CURLOPT_FRESH_CONNECT,  true); 
curl_setopt($ch,    CURLOPT_HEADER,         false); 
curl_setopt($ch,    CURLOPT_POST,           false); 
curl_setopt($ch,    CURLOPT_RETURNTRANSFER, true); 
$result = curl_exec($ch); 
curl_close($ch); 
于 2012-06-21T07:32:43.283 に答える