Poniżej funkcja realizująca zapytanie cookie, post.
<?php public function conn_post_cookie($str_http, $in_timeout, $bool_followlocation, $bool_rtransfer, $str_array_args){ $str = $this->post_fields($str_array_args); $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $str_http); curl_setopt($curl, CURLOPT_TIMEOUT, $in_timeout); curl_setopt($curl, CURLOPT_FOLLOWLOCATION, $bool_followlocation); curl_setopt($curl, CURLOPT_RETURNTRANSFER, $bool_rtransfer); //if '1' everything goes to var, '0' only success - 1 or failed - 0 curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3'); 'Accept-Charset: ISO-8859-2,utf-8;q=0.7,*;q=0.7'); curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); //curl_setopt($curl, CURLOPT_HEADER, 1); //server headers curl_setopt($curl, CURLOPT_POST, 1);//post method curl_setopt($curl, CURLOPT_POSTFIELDS, $str); curl_setopt($curl, CURLOPT_COOKIEJAR, 'cookies.txt'); curl_setopt($curl, CURLOPT_COOKIEFILE, 'cookies.txt'); //curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE); //curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2); $source=curl_exec($curl); curl_close($curl); if (!$source) throw new Exception('Connection failed or website does not exist!'); else{ return $source; } } ?>
Jakby ktoś mógł mi jeszcze rozjaśnić funkcje (ale dokładnie)
//curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
//curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2);
to byłbym wdzięczny....
Poniżej przedstawię jeszcze jak sie ma sprawa:
Wpisuje w przeglądarce:
www.ebank.pl
dostaje ciasteczko
Następuje przekierowanie:
https://www.ebank.pl/jbank-web/jbank/unlogged/loginUser.do?rid=0.9849224543367993<-identyfikator przy adresie
pojawia sie ekran z logowaniem...
gdy wpiszę login to wysyła dane POST, gdzie jest moj login i sequenceId=...........(nie wiem skąd to bierze) oraz te długie cookies. Nie ogarniam tego, dlatego pytam sie czy w curlu cały ten mechanizm jest w jakiś sposób zautomatyzowany? I czy te dwie powyższe funkcje powinny załatwić sprawę...?