Mám problém s mojím skriptom pomocou cURL. Na stránke A nastavím cURL POST a pošlem ho na stránku B, kde sa vykoná skript na prihlásenie. Údaje sú odovzdané správne, ale relácia a súbory cookie nie sú nastavené na strane B.
Skript login.php otvorí SESSION (a nakoniec COOKIE) a uloží potrebné informácie. Ak som sa prihlásil priamo zo stránky B, funguje to dobre.
$ch = curl_init("http://www.example.com/login.php");
curl_setopt ($ch, CURLOPT_POST, 1);
curl_setopt ($ch, CURLOPT_POSTFIELDS, "login_name=xxx&login_pass=xxx");
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec ($ch);
curl_close ($ch);
odpovede:
0 pre odpoveď č. 1použitie COOKIEJAR & COOKIEFILE :
<?php
$ch = curl_init("http://www.example.com/login.php");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "login_name=xxx&login_pass=xxx");
curl_setopt($ch, CURLOPT_COOKIEJAR, "/cookie.txt");
curl_setopt($ch, CURLOPT_COOKIEFILE, "/cookie.txt");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch);
curl_close ($ch);
?>
Môžete tiež vytvoriť tmp adresár, do ktorého ukladáte cookie!
0 pre odpoveď č. 2
skúste pridať tento kód do svojho kódu
$cookie="cookie.txt";
curl_setopt($curl_connection, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl_connection, CURL_COOKIEJAR, $cookie);
curl_setopt($curl_connection, CURL_COOKIEFILE, $cookie);
curl_setopt($curl_connection, CURL_VERBOSE, true);
Dúfam, že toto užitočné.