Sziasztok. Az alábbi scriptel szimulálni szeretnék egy POST logint, de sajnos nem megy. Valaki csinált már hasonlót?
<?php
$id = "username";
$pw = "password";
$postfields = "username=$id&password=$pw&Submit1=Login";
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 1); // Get the header
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); // Allow redirection
curl_setopt($ch, CURLOPT_COOKIEJAR, "/tmp/cookie");
curl_setopt($ch, CURLOPT_URL,"http://www.domainnev.loc");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "$postfields");
curl_exec($ch);
curl_close($ch);
?>
- 1881 megtekintés
Hozzászólások
php.net/curl
rtfm
t
- A hozzászóláshoz be kell jelentkezni
Ezzel sokat nem oldottam meg. :(
- A hozzászóláshoz be kell jelentkezni
Akkor nézd, mit kap meg a túloldalon.
(A CURLOPT_POSTFIELDS-nek egy asszociatív tömböt adj meg a login adatokkal)
- A hozzászóláshoz be kell jelentkezni
A túloldalon hogy nézzem meg, mikor nem férek hozza? :)
- A hozzászóláshoz be kell jelentkezni
ne elesben teszteld...
csinaltam mar ilyet, mukodik, lehetseges, tessek utanaolvasni.
Tyrael
- A hozzászóláshoz be kell jelentkezni
Sikerült megoldanom. Köszönöm a sok segítséget.
A probléma az előbbivel az volt, hogy nem küldtem vissza a cookie-t és egy Post mezőt kihagytam.
A script a következő:
$ch = curl_init();
curl_setopt($ch, CURLOPT_COOKIEJAR, "/tmp/cookieFileName");
curl_setopt($ch, CURLOPT_URL,"http://www.domainnev.loc/login.php");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "username=username&password=password&act=login&Submit1=Login");
curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_COOKIEFILE, "/tmp/cookieFileName");
ob_start(); // prevent any output
$buf=curl_exec ($ch); // execute the curl command
ob_end_clean(); // stop preventing output
curl_close ($ch);
unset($ch);
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_COOKIEFILE, "/tmp/cookieFileName");
curl_setopt($ch, CURLOPT_URL,"http://www.domainnev.loc/belepve.php");
$buf2 = curl_exec ($ch);
curl_close ($ch);
echo "
".htmlentities($buf2);
- A hozzászóláshoz be kell jelentkezni