Autor | Zpráva | ||
---|---|---|---|
BuGeR Profil |
#1 · Zasláno: 9. 2. 2012, 23:10:08
Zdravím.
Potřebuju aspoň naťuknout, a poptat se, jestli lze přes CURL vytvořit toto: Lze nějak udělat to, že udělam dvojitý post požadavek? Potřebuju se přes CURL přihlásit POSTem na požadovanou URL, a po přihlášení potřebuju na stejné URL odeslat přes přihlášeného uživatele formulář. Díky. |
||
Davex Profil |
#2 · Zasláno: 9. 2. 2012, 23:19:43
Dáš dva požadavky po sobě. Po přihlášení si zapamatuješ všechny cookies a pošleš je při druhém. Pokud je tedy přihlášení řešené přes session, což je skoro vždy.
|
||
BuGeR Profil |
Davex:
Díky. Zkusil jsem toto: $ch = curl_init(); curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); curl_setopt($ch, CURLOPT_COOKIEJAR, "/tmp/test.txt"); // Tady nastavím, kde se bude cookies ukládat curl_setopt($ch, CURLOPT_URL,"http://localhost/test/login.php"); // adresa formuláře curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, "user=Test&pw=123456789&login=1"); // Přihlásím se přes post echo curl_exec ($ch); // Tohle funguje. Zobrazí se mi stránka, která by se zobrazila pro přihlášeného uživatele curl_close ($ch); unset($ch); // Nový CURL $ch = curl_init(); curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); curl_setopt($ch, CURLOPT_COOKIEFILE, "/tmp/test.txt"); // Použiju cookie s předešlého požadavku curl_setopt($ch, CURLOPT_URL,"http://localhost/test/login.php"); // Opět stejná adresa echo curl_exec ($ch); // Tady tohle už ale vypíše jen opět zase přihlašovací formulář (takže se vlastně cookies nepoužije) curl_close ($ch); Mám asi zmatek s tím, jak funguje ukládaní COOKIES do souborů. Mám to dobře řešené nebo ne? Nikde totíž nemůžu najít ten soubor test.txt s daty cookies. Díky. EDIT: Problém vyřešen :-) Vytvořil jsem si soubor cookie.txt, do nastavil aby se to ukládalo do něj, a funguje to. Ale vždy je prázdny - to znamená, že jakmile CURL přestane pracovat s COOKIE tak ho automaticky vyprázdní? |
||
Davex Profil |
#4 · Zasláno: 10. 2. 2012, 19:50:11
BuGeR:
„Ale vždy je prázdny - to znamená, že jakmile CURL přestane pracovat s COOKIE tak ho automaticky vyprázdní?“ Já v něm uložené cokkies vidím. Nevytváří se datový soubor někde jinde? Jelikož se volá externí knihovna, tak by se měla zadávat celá cesta k datovému souboru. Vyzkoušej to takhle: curl_setopt($ch, CURLOPT_COOKIEJAR, dirname(__FILE__) . "/test.txt"); |
||
BuGeR Profil |
Davex:
Zkouším to i s funkci dirname(), ale ten textový soubor je pořád prázdný. Skript ale normalně funguje. Neříkám, že je to nějaká chyba, spíš mě jen zajímá, proč tam ty data nezůstanou EDIT: Problém opět vyřešen :-) zkusil jsem tam vložit absolutní adresu toho cookie souboru, a jede to. Děkuji moc za snahu :-) |
||
Časová prodleva: 11 let
|
0