![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 1.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
potrzebuje skryptu, który będzie logował się na stronę https, wiem że takie zadania wykonuje biblioteka curl ale nie mogę znaleźć nigdzie w internecie rozwiązania autoryzacji użytkownika po https. Potrzebuje skrypt php z użyciem curl który: 1) zaloguje się na https://www.someplace.pl korzystając z danych username i userpass (wykona posta i zaloguje użytkownika) 2) przejdzie na stronę https://www.someplace.pl/podstrona.html 3) na tej stronie również wykona posty (ustawi checkboxy, wartości pól i "kliknie" submit) 4) z wynikowej strony skopiuje (znajdzie i skopiuje) wybrane wynikowe wiersze 5) wyświetli te wiersze jaki wynik działania skryptu czyli chodzi tu o automatyzacje pewnych stałych zachowań ale user nie musi tego widzieć (czyli SeleniumIDE odpada), użytkownik loguje się, wybiera podstrone, na tej podstronie zaznacza checkboxa i wstawia w inputa jakiś tekst po czym klika "OK" (submit), na stronie wynikowej wybiera (kopiuje) wiersze wynikowe. Czyli automatyzacja która pozwoli od razu uzyskać wiersze wynikowe bez konieczności ciągłego wykonywania ww. czynności. Z góry dziękuje za wszelką pomoc... |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 1.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
Interesuje mnie gotowy kod który przy pomocy curl wykonuje opisane przezemnie operacje, próbowałem następującego kodu ale nie działa. Nie mam pojęcia co robie źle więc prosiłbym o pomoc lub gotowy kod, mój jest następujący:
$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_USERPWD, $username.':'.$password); curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_TIMEOUT, 4); //curl_setopt($ch, CURLOPT_POSTFIELDS, $request_xml); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Connection: close')); //Execute the request and also time the transaction ( optional ) $start = array_sum(explode(' ', microtime())); $result = curl_exec($ch); gdzie pod $url jest adres strony https, $username i $password przechowują dane do logowania. W result pojawia się kod strony https ale bez styli css i polskiego kodowania, niestety nie pojawia się wynik logowania. Jak to rozwiązać? Poza tym jak wykonywać w curl kilka takich odwołań tzn: jeden request po https (logowanie), następny request na stronie wynikowej, następny request na stronie wynikowej poprzedniego itd. Prosiłbym o pomoc. Ok mogę ominąć https i logować się po http ... ale nawet to nie działa, po wykonaniu następującego kodu: $hand = curl_init(); curl_setopt($hand, CURLOPT_URL, $url); curl_setopt($hand, CURLOPT_POST, 1); curl_setopt($hand, CURLOPT_POSTFIELDS, 'login=xxx&password=yyy&reszta ciągu requesta która powoduje zalogowanie po wpisaniu w adresie url i wywołaniu'); $result = curl_exec($hand); otrzymuje błąd 503 serwera: Service Temporarily Unavailable The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later. Prośba o pomoc. Może występuje tu jakiś timeout gdyż proces zalogowania trwa 5sek. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 5.10.2025 - 16:54 |