NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Diskuze: CURL - Odeslat přihlašovací přístupy a přihlásit se (Server)

V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
katrincsak
Člen
Avatar
katrincsak:23.2.2018 12:04

Zdravím,

prolezl jsem spoustu možností, ale ani jedna mi nefunguje.

Test provádím na svém webu a rád bych poprosil zda by mi zde někdo udělal názorný příklad za pomocí CURL. Potřebuji provést CURL, které se za mě dokáže přihlásit. Samozřejmě se jedná o test a následně to potřebuji aplikovat na zabezpečený web jednoho klienta. Každopádně potřebuji provést tento typ přihlášení a jiné možnosti se bohužel aplikovat nebudou moct.

Testovací údaje: (Omezil jsem možnosti a tak není možné ani změnit heslo)

web: http://ebazar.eu/prihlasit
email: test@ebazar.eu
heslo: 12345

Můj nefunkční příklad

//Upload a blank cookie.txt to the same directory as this file with a CHMOD/Permission to 777
function login($url,$data){
    $fp = fopen("./cookie.txt", "w");
    fclose($fp);
    $login = curl_init();
    curl_setopt($login, CURLOPT_COOKIEJAR, "./cookie.txt");
    curl_setopt($login, CURLOPT_COOKIEFILE, "./cookie.txt");
    curl_setopt($login, CURLOPT_TIMEOUT, 40000);
    curl_setopt($login, CURLOPT_RETURNTRANSFER, TRUE);
    curl_setopt($login, CURLOPT_URL, $url);
    curl_setopt($login, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
    curl_setopt($login, CURLOPT_FOLLOWLOCATION, TRUE);
    curl_setopt($login, CURLOPT_POST, TRUE);
    curl_setopt($login, CURLOPT_POSTFIELDS, $data);
    ob_start();
    return curl_exec ($login);
    ob_end_clean();
    curl_close ($login);
    unset($login);
}

function grab_page($site){
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
    curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
    curl_setopt($ch, CURLOPT_TIMEOUT, 40);
    curl_setopt($ch, CURLOPT_COOKIEFILE, "./cookie.txt");
    curl_setopt($ch, CURLOPT_URL, $site);
    ob_start();
    return curl_exec ($ch);
    ob_end_clean();
    curl_close ($ch);
}

function post_data($site,$data){
    $datapost = curl_init();
        $headers = array("Expect:");
    curl_setopt($datapost, CURLOPT_URL, $site);
        curl_setopt($datapost, CURLOPT_TIMEOUT, 40000);
    curl_setopt($datapost, CURLOPT_HEADER, TRUE);
        curl_setopt($datapost, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($datapost, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
    curl_setopt($datapost, CURLOPT_POST, TRUE);
    curl_setopt($datapost, CURLOPT_POSTFIELDS, $data);
        curl_setopt($datapost, CURLOPT_COOKIEFILE, "./cookie.txt");
    ob_start();
    return curl_exec ($datapost);
    ob_end_clean();
    curl_close ($datapost);
    unset($datapost);
}

echo login("http://ebazar.eu/prihlasit","[email protected]&heslo=12345");

Děkuji moc za pomoc.

Editováno 23.2.2018 12:04
 
Odpovědět
23.2.2018 12:04
Avatar
katrincsak
Člen
Avatar
Odpovídá na katrincsak
katrincsak:23.2.2018 13:29

Již vyřešeno, chyběl detail a to i odeslání submit tlačítka, super. Již jsem schopný se přihlásit na 2 různých testovaných webech přes úplně jinou doménu.

 
Nahoru Odpovědět
23.2.2018 13:29
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.