/ / PHP - cURL a vzdialené prihlásenie - php, curl

PHP - cURL a vzdialené prihlásenie - php, curl

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ď č. 1

použ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é.