![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 26.02.2004 Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Mam skrypt który ma sie logować na strone, i pobierać z niej dane. Działał dobrze jak nie było logowania przez https, no ale niestety teraz jest i skrypt padł ;( Nie wiecie co może być przyczyną? Poniżej przesyłam kod: Kod <? $user='xxx'; $haslo='xxx'; $config_explorer="Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8) Gecko/20051111 Firefox/1.5"; $ch = curl_init(); $file_tmp=md5(rand()); $a=fopen("tmp/$file_tmp", "w"); fclose($a); curl_setopt($ch, CURLOPT_URL, 'https://serwer/Login.aspx'); curl_setopt($ch, CURLOPT_COOKIEJAR, "tmp/$file_tmp"); curl_setopt($ch, CURLOPT_TIMEOUT, 15); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_USERAGENT, $config_explorer); $string_tmp=curl_exec ($ch); if (curl_errno($ch)) { echo 'Błąd #' . curl_errno($ch) . ': ' . curl_error($ch); } curl_close ($ch); preg_match_all("|<input type=\"hidden\" name=\"__VIEWSTATE\" id=\"__VIEWSTATE\" value=\"(.*)\" \/>|U", $string_tmp, $jeden); $viewstate=$jeden[1][0]; preg_match_all("|<input type=\"hidden\" name=\"__EVENTVALIDATION\" id=\"__EVENTVALIDATION\" value=\"(.*)\" \/>|U", $string_tmp, $dwa); $eventvalidation=$dwa[1][0]; /* // Pobieranie identyfikatora sesji ASP.NET $plik="./tmp/$file_tmp"; $open = @fopen ($plik, "r+"); $dane = fread($open, filesize($plik)); preg_match_all("|ASP.NET_SessionId(.*) |U", $dane, $sid); $sesja=$sid[1][0]; $sesja=substr($sesja,0,24); // Koniec pobierania identyfikatora sesji */ $ch = curl_init (); $file_tmp_1=md5(rand()); $post_pytanie="Form1=&__VIEWSTATE=$viewstate&txtCustomerID=&txtLogin=$user&txtPassword=$haslo&ButtonLogIn=Wyślij&__EVENTVALIDATION=$eventvalidation"; curl_setopt($ch, CURLOPT_URL, 'https://serwer/Login.aspx'); curl_setopt($ch, CURLOPT_COOKIEFILE, "tmp/$file_tmp"); curl_setopt($ch, CURLOPT_COOKIEJAR, "abc"); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_TIMEOUT, 15); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_REFERER, "https://serwer/Login.aspx"); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $post_pytanie); curl_setopt($ch, CURLOPT_USERAGENT, $config_explorer); if (curl_errno($ch)) { echo 'Błąd #' . curl_errno($ch) . ': ' . curl_error($ch); } curl_errno($ch); $string_tmp=curl_exec ($ch); curl_close ($ch); $ch = curl_init (); curl_setopt($ch, CURLOPT_URL, "http://serwer/menuLeft.aspx"); curl_setopt($ch, CURLOPT_COOKIEFILE, "abc"); curl_setopt($ch, CURLOPT_TIMEOUT, 15); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_USERAGENT, $config_explorer); if (curl_errno($ch)) { echo 'Błąd #' . curl_errno($ch) . ': ' . curl_error($ch); } echo $string_tmp=curl_exec ($ch); curl_close ($ch); unlink("tmp/$file_tmp"); ?> Skrypt po odpaleniu pokazuje: Object moved to here. Czyli tak jakby nie zapisywał cookies ;( Z góry dzięki! Pozdr WeLoO Ten post edytował weloo 5.01.2007, 13:11:30 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 13.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Mam podobny problem z logowaniem się do tego serwisu! Coś zaszalało zaraz po nowym roku. U mnie jeden na dziesięć razy zadziała. Jedna kwestia która mnie zastanawia to może jakieś problemy ze strony providera. Ja uruchamiałem na serwerach NetArt i nie mam niestety możliwości przetestowania na innym serwerze. Pozdrawiam |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 11.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
Object moved to here - prawdopodobnie masz problem z przechwyceniem sesji i dalatego sie pojawia ten komunikat.
A wie ktoś może jak sie zautoryzować po https wykorzystując curla?? |
|
|
![]() ![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 58 Pomógł: 5 Dołączył: 2.05.2006 Ostrzeżenie: (0%) ![]() ![]() |
wersja poprawiona ![]() -wywaliłem Pobieranie identyfikatora sesji ASP.NET bo i tak zapisuje się w ciastku -zmiana sposobu zapisywania ciastek (jedno nieruszane ciastko starcza przynajmniej na jeden dzień) -przed wysłaniem $viewstate i $eventvalidation trzeba je potraktować urlencode() -dziwnie tylko działa pierwszy curl pobierający właśnie $viewstate i $eventvalidation, raz wycina raz nie, dlatego dodałem for() Ogólnie to zastanawiam się po kiego wała pobierać lewe menu z Actiona, rozumiem opisy, ceny itp. ale menu ![]() |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 81 Pomógł: 0 Dołączył: 1.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
Mój skrypt właśnie przestał działać przenosi mnie do strony logowania :/
Czy wasze skrypty też przestały działać? Wszystko mi działało dobrze do wczoraj :/ |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 58 Pomógł: 5 Dołączył: 2.05.2006 Ostrzeżenie: (0%) ![]() ![]() |
Wszystko działa jak najlepiej, prawdopodobnie masz problem z sesjami, albo ciastkami. Jak coś to wklej swój skrypt i zobaczymy
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 81 Pomógł: 0 Dołączył: 1.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
Niby loguje się i mam ciastko i wszystko wygląda OK, ale przy pobieraniu cennika csv przenosi mnie do strony logowania.
Testowałem ten twój skrypt i mam to samo, chyba że źle go użyłem. Ten post edytował pavelb 3.08.2007, 12:54:36 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 24.03.2005 Ostrzeżenie: (0%) ![]() ![]() |
Witam odkopuje temat;
Zainteresowałem się skryptem... Nie działa pokazuje się pusta strona... ewentualnie Błąd #3: malformed. Ciacha zapisuje a w nich : # Netscape HTTP Cookie File # http://curlm.haxx.se/rfc/cookie_spec.html # This file was generated by libcurl! Edit at your own risk. i-serwis2.action.pl FALSE / FALSE 0 ASP.NET_SessionId mu4ndi235uzy256mj3ibhmaw55 Nic więcej się nie dzieje proszę o pomoc ![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 18.08.2025 - 16:47 |