Odbicie lustrzane strony internetowej za formularzem logowania

10

Krótka wersja:

  • Chciałbym zrobić kopię offline adresu URL, który zawiera pełne obrazy HTML + CSS + JS + i zapisuje je lokalnie, zachowując strukturę i zawartość pliku oryginalnej witryny.
  • Mam problem z narzędziami, które mogę znaleźć (np. Rozszerzenie Firefox „Zapisz pełne”, HTTrack, wget, Teleport Pro) częściowo dlatego, że adres URL znajduje się za formularzem logowania.

Dłuższa wersja:

Podczas pracy z moją aplikacją często chcę przyciągnąć pełną wersję offline HTML + CSS + JS + obrazów, aby wysłać je do projektanta, z którym pracuję, który dokonuje modyfikacji i odsyła go z powrotem. Następnie stosuję zmiany w aplikacji.

Okazało się to o wiele bardziej wydajne niż nawigacja naszego kodu za pomocą aplikacji na żywo, ale jest jedna przeszkoda - nie mogę znaleźć wygodnej aplikacji do tworzenia kopii lustrzanych.

Rozszerzenia przeglądarki Firefox, takie jak „Zapisz zakończone”, mają już plik cookie logowania, więc nie przejmuj się, że znajdują się za formularzem logowania, ale zmieniają lokalnie zapisane pliki, uniemożliwiając ich pracę.

Narzędzia do tworzenia kopii lustrzanych, takie jak wget lub Teleport Pro, nie obsługują naszego formularza logowania.

Jednak HTTrack powinien działać w trybie proxy, aby wykryć dane logowania, ale nigdy nie udało mi się go uruchomić. W zamian może zaakceptować pliki cookie, które podłączam do pliku cookie.txt, ale zawsze zajmuje mi to kilka godzin.

Jakieś narzędzia, rozszerzenia przeglądarki itp., Które mogłyby to zrobić? Open source, reklama - cokolwiek. Jeśli niewłaściwie korzystałem z HTTrack i jest to naprawdę trywialne, to także świetna odpowiedź.

orip
źródło

Odpowiedzi:

7

Dzięki HTTrack możesz pobrać plik cookie.txt podczas pobierania. Użyłem go, aby z powodzeniem wykonać kopię lustrzaną witryny moodle.

TheLQ
źródło
Dzięki - robiłem to wcześniej za pomocą HTTrack, ale z jakiegoś powodu zawsze potrzeba mi kilku prób, aby zadziałało, chociaż nie widzę powodu, dla którego to robię. Czy kiedykolwiek działało wbudowane wsparcie uwierzytelniania formularzy? To nigdy nie działało w mojej witrynie. httrack.kauler.com/help/CatchURL_tutorial
orip
2
To, co zrobiłem, to zalogowanie się w przeglądarce i wyeksportowanie pliku cookie.txt, dodanie strony wylogowania do czarnej listy i uruchomienie jej. Podjąłem kilka prób z powodu głupoty moodle, ale udało mi się to zadziałać
TheLQ
5

Zrobiłem to z powodzeniem za pomocą WinHTTrack . Możesz wykonać normalną procedurę przechwytywania strony internetowej, z dwoma drobnymi poprawkami ustawień:

  1. W Chrome otwórz Dev Tools, a następnie zaloguj się na stronie, którą chcesz przechwycić. Na karcie Sieć kliknij żądaną stronę HTML, aby znaleźć plik cookie sesji (jego nazwa będzie się różnić w zależności od używanej struktury zaplecza). Umieść to w HTTrack pod „Dodatkowymi nagłówkami HTTP”.

  2. Upewnij się również, że łańcuch agenta użytkownika jest zgodny, ponieważ czasami sesje są blokowane, jeśli łańcuch agenta użytkownika zostanie zmieniony.

    Sesyjny plik cookie logowania do HTTrack

  3. Rozpocznij pobieranie strony. Wynik powinien wyglądać tak, jakbyś był zalogowany.

Simon East
źródło
3

Czy próbowałeś Offline Explorera ?

Pamiętam, że coś takiego pozwoliłoby Ci się zalogować, zapisując w ten sposób pliki cookie na potrzeby kolejnych żądań, a resztę zrobię. Nie jestem pewien w 100%, ponieważ używałem go dawno temu.

Pablo
źródło
Niesamowite, wygląda na to, że wersja Pro obsługuje POST w formularzu, sprawdzę to
orip
Zajęło mi to trochę czasu, a dokumentacja była niewielka, ale zdałem sobie sprawę, że mogę użyć wbudowanej przeglądarki opartej na IE, aby zalogować się do formularza, a następnie wybrać „Dodaj następny kliknięty link jako projekt”. Funkcja „autozapisu” również była miła, chociaż od czasu do czasu popsuła mój formularz. Będę ewaluować to przez 30 dni, może być tym, czego szukam.
orip
2

Teleport Pro pozwala na użycie loginu i hasła.

Kiedy uruchamiasz Kreatora nowego projektu, dochodzisz do punktu, w którym daje ci tę opcję (myślę, że jest na 3. ekranie opcji).

I nawet jeśli go przegapisz, możesz ponownie uzyskać dostęp do tej opcji.

W głównym oknie (po przejściu przez Kreatora projektu) kliknij prawym przyciskiem myszy swój projekt (mała ikona folderu wyświetlająca adres URL, który próbujesz pobrać, w lewym okienku) i wybierz ostatnią opcję, Starting Address Propertiesa zostanie wyświetlony ekran opcji gdzie możesz podać login użytkownika i hasło, które będą używane w tej witrynie.

Pomocnik
źródło
To starożytne pytanie, ale teleport pro obsługuje uwierzytelnianie HTTP , nie wprowadzając danych do formularzy POST.
Fałszywe imię