Autor | Zpráva | ||
---|---|---|---|
4li1985 Profil |
Zdravim.
Potrebujem sa pomocou funkcie file_get_contents() dostat k zdrojovemu kodu stranky, ktora je dostupne len po prihlaseni. Da sa cez PHP prihlasit na stranku (ak poznam login/password)?
Dakujem za kazdu radu a pokojne sviatky prajem! :) Jedna sa o tuto stranku. Ale vidim ze tam je aj ukryta captcha v zdrojovom kode formulara, takze neviem ci je to mozne. members.onlytease.com |
||
Keeehi Profil |
#2 · Zasláno: 28. 12. 2018, 16:28:45
4li1985:
„Da sa cez PHP prihlasit na stranku (ak poznam login/password)?“ Dá. Je to ovšem na několik kroků. Nejdříve musíš poslat POST požadavek s přihlašovacími údaji. Z odpovědi z cookie si vytáhnout seesion ID a to pak posílat v dalších požadavcích. Jak pomocí file_get_contents poslat POST požadavek? Jako třetí parametr přijímá tato funkce kontext. Ten se dá vytvořit pomocí funkce stream_context_creat kde si můžeš nadefinovat parametry spojení. Já osobně preferuji knihovnu curl. Ale obě možnosti by měly být víceméně zaměnitelné. Jde pak spíš jen o to, co se ti lépe používá. |
||
4li1985 Profil |
Keeehi:
Pouzil som CURL kod ktory som nasiel, ale nefunguje to. Vedel by si ma naviest? Taktiez som si vsimol, ze v zdrojovom kode formulara maju aj captcha, ale clovek zadava len username a password, ziadne overovanie, tak neviem ci je to funkcne. $username = 'xxxxxx'; $password = 'xxxxxx'; $loginUrl = 'https://members.onlytease.com/'; //init curl $ch = curl_init(); //Set the URL to work with curl_setopt($ch, CURLOPT_URL, $loginUrl); // ENABLE HTTP POST curl_setopt($ch, CURLOPT_POST, 1); //Set the post parameters curl_setopt($ch, CURLOPT_POSTFIELDS, 'uid='.$username.'&pwd='.$password); //Handle cookies for the login curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt'); //Setting CURLOPT_RETURNTRANSFER variable to 1 will force cURL //not to print out the results of its query. //Instead, it will return the results as a string return value //from curl_exec() instead of the usual true/false. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //execute the request (the login) $store = curl_exec($ch); //the login is now done and you can continue to get the //protected content. //set the protected URL curl_setopt($ch, CURLOPT_URL, 'https://members.onlytease.com/gallery/ot/24238'); //execute the request $content = curl_exec($ch); curl_close($ch); echo file_get_contents($content); |
||
4li1985 Profil |
#4 · Zasláno: 28. 12. 2018, 17:54:17
Uz som to vyriesil.
Tento kod funguje. Netreba zabudnut aby boli POSTnute vsetky premenne z formularu. thisinterestsme.com/php-login-to-website-with-curl |
||
Časová prodleva: 5 let
|
0