• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Dlaczego metoda post nie działa i jak wykryć czy tekst znajduje się na stronie.

VPS Starter Arubacloud
0 głosów
114 wizyt
pytanie zadane 19 maja 2020 w Python przez tonn204 Mądrala (7,440 p.)

Cześć. Chcę napisać program, który metodą słownikową będzie próbował zalogować się na moje konto. Mam tylko problem. Po pierwsze nie wiem czy metoda POST działa. Bo po wypisaniu adresu URL jest on nie zmieniony od momenty zadeklarowania go w zmiennej i dodatkowo nie wiem jak wykryć, czy tekst świadczący o tym, iż logowanie nie przebiegło pomyślnie wyskoczył na stronie (z moich testów wynika, że metoda pokazana w kodzie nie działa). Jak to naprawić i dlaczego to nie działa? Bardzo proszę o pomoc i dziękuję z odpowiedzi.

import requests

URL = "https://store.steampowered.com/login/?redir=&redir_ssl=1"
payload = {"username":"user", "password":"pass"}
r = requests.post(URL,data=payload)

print(r.url)
if "Wykryto zbyt wiele nieudanych prób logowania. Poczekaj i spróbuj ponownie później.".encode() in r.content:
    print("Wrong password")
else:
    print("Correct password")

PS. Podkreślam, że to MOJE konto :)

komentarz 19 maja 2020 przez TeaCup Obywatel (1,370 p.)
Być może steam zaimplementował funkcje przeciwko takim próbom logowania. Podobnie jak na przykład nie pooglądasz na Netflix filmów jeśli masz włączony VPN.
komentarz 19 maja 2020 przez ScriptyChris Mędrzec (190,190 p.)

@antos, całkiem na marginesie: jeśli próbujesz automatyzować cokolwiek związanego z obsługą konta w jakiejś usłudze drogą "na około" (np. nie korzystając z oficjalnych API, tylko pisząc skrypt typu scraper), to na wszelki wypadek załóż sobie osobne konto (żebyś w razie czego nie dostał bana na swoje właściwe konto, tym bardziej jeśli masz tam kupione np. gry, czy kursy). Dodatkowo, jeśli jest szansa, że mogą nie tyle zablokować Ci dostęp do konta, ale w ogóle zablokować Twoje IP, to swoje skrypty testuj łącząc się przez VPN lub Proxy.

komentarz 19 maja 2020 przez tonn204 Mądrala (7,440 p.)
To konto jest właśnie testowe, ale o możliwości zablokowania IP nie wiedziałem dobrze, że wspomniałeś. Dzięki.
komentarz 19 maja 2020 przez tonn204 Mądrala (7,440 p.)

 @JSHolic, a jak mogę sprawdzić czy metoda post którą mam w kodzie działa(czy te dane są faktycznie wysyłane?) 

komentarz 19 maja 2020 przez ScriptyChris Mędrzec (190,190 p.)
Nie znam Pythona, więc nie pomogę z kodem.

Czy wysyłasz prawidłowy request? Jaki dostajesz response? Raczej na pewno request wysyłany w trakcie logowania przez stronę zawiera więcej parametrów niż samo "username" i "password" - i skąd wiesz, że takie są parametry i że hasło nie jest jakoś szyfrowane? - ponadto mogą być dodawane nagłówki, których Ty nie dodajesz. Wejdź na stronę logowania w przeglądarce i w zakładce Network (lub Sieć) narzędzi developerskich sprawdź jak wygląda ten request i uzupełnił swój o brakujące dane.

Tak w ogóle, to po co Ci taki skrypt?
komentarz 19 maja 2020 przez tonn204 Mądrala (7,440 p.)
@JSHolic, Skrypt po to aby zrealizować swoje ambicje :)
komentarz 20 maja 2020 przez tonn204 Mądrala (7,440 p.)

@JSHolic, Ok. Sprawdziłem mam tam username: i password:. Hasło jest z tego co widzę zaszyfrowane no i oprócz tego są tam jeszcze inne rzeczy. Czy teraz w kodzie mam uzupełnić inne nagłówki?

komentarz 20 maja 2020 przez ScriptyChris Mędrzec (190,190 p.)
Tak, jeśli nie wiesz które z parametrów i nagłówków są wymagane przez serwer do zalogowania, to najlepiej jeśli request puszczany ze skryptu będzie zawierał te same dane co request wychodzący z przeglądarki.

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
0 odpowiedzi 373 wizyt
0 głosów
1 odpowiedź 323 wizyt
+1 głos
0 odpowiedzi 179 wizyt

92,451 zapytań

141,261 odpowiedzi

319,073 komentarzy

61,853 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...