[PYTHON+PyCurl] Odpowiedzi na konkretne zapytania post


(Kamilx3) #1

Zgodnie z pierwszą odpowiedzią z tego obsluga-strony-przez-bot-pythonie-t405666.html wątku spróbowałem za pomocą firebug’a przeanalizować żądania POST wysyłane podczas wizyty na stronie https://imo.im/ podczas logowania oprócz nazwy użytkownika i hasła wysyłany była wartość “ssid” która za każdym logowanie była inna. Gdy wniknąłem głębiej w listę przesyłanych zapytań odkryłem, że w odpowiedzi na “method=rest_rpc&data=%7B%22ack%22%3A0%2C%22ssid%22%3A0%2C%22messages%22%3A%5B%7B%22data%22%3A%7B%22method%22%3A%22get_ssid%22%2C%22data%22%3A%7B%22ssid%22%3A%22Err7QTBihY8ctHGI%22%7D%7D%2C%22to%22%3A%7B%22system%22%3A%22ssid%22%7D%2C%22from%22%3A%7B%22system%22%3A%22client%22%2C%22ssid%22%3A0%7D%2C%22seq%22%3A0%7D%5D%7D”

przychodziła wygenerowana wartość “ssid”. Próbowałem wysłać to zapytanie za pomocą urllib2 ale zamiast wartości “ssid” w odpowiedzi uzyskiwałem źródło html strony. Podczas próby z curl’em efekt był identyczny.

Tak więc jeszcze raz prosiłbym o pomoc, bo mimo wielu prób nie znalazłem skutecznego sposobu na rozwiązanie tego problemu.


(Krzkaczor) #2

hmm z tego co zdążyłem zkodować w pythonie to pyCURl ssie pałkę (takie moje odczucie spowodowane brakiem dokumentacji chyba :slight_smile: ). Więc zostań przy urllib. Wracając do problemu: tu masz uwierzytelnianie + parę innych rzeczy w curl http://sf.jogger.pl/2007/10/27/przejeci … przez-net/ jezeli chcesz uzywac pyCURL to praktycznie tylko przekopiujesz kod :slight_smile:

Widzę że z Ciebie ambitny chłopak i jeżeli chciałbyś wzbogacić skrypt o wysyłanie sms do ludzi to mógłbyś dać znać na pw? Bo walczyłem przez dłużyszy czas z takim problemem i się poddałem :slight_smile: Moglibyśmy połączyć siły :slight_smile:


(Kamilx3) #3

Stronie do której link podałeś się przyjrzałem, kod php z przykładem użycia curl’a przeanalizowałem ale niestety tego co potrzebuję znaleźć dalej nie znalazłem.

Wysyłać dane metodą post umiem - zarówno z pomocą PyCurl jak i urllib - też uważam, że urllib jest wygodniejszy, ale problem mam przy odbiorze odpowiedzi z serwera - na stronie imo.im jest to dość zamotane - JavaScript wysyła bardzo dużo zapytań, więc opiszę to na przykładzie https://accounts.zoho.com/register?serv … 2Findex.do ( pierwsza lepsza strona, która podczas sprawdzania czy nazwa użytkownika jest dostępna wysyła zapytanie o które mi chodzi ):

Gdy wejdziemy na tę stronę za pomocą firefox’a z otwartym dodatkiem firebug na zakładce sieć zaraz po załadowaniu zobaczymy dwa zapytania GET, które wcale nas nie interesują.

Później nic nie będzie się działo do czasu aż wpiszemy nazwę użytkownika dłuższą niż 5 znaków i nie klikniemy na następnym polu.

Gdy jednak to zrobimy strona wysyła żądanie POST

LOGIN_ID	saasda

iamcsrcoo	4fce0689-a069-4290-8d74-775183394d26

i w odpowiedzi otrzymuje

true
  • i na tym właśnie polega mój problem aby napisać program w pythonie, który odczyta tą odpowiedź.

// zauważyłem, że jeśli wyłączy się obsługę ciasteczek to wszystko zaczyna się sypać… - może to o nie chodzi… - spróbuję, a jeśli ktoś ma jakiś pomysł to będę wdzięczny jak się nim ze mną podzieli.


(Methylz) #4

Spróbuj użyć Twilla, jeśli nie pomoże to Selenium, który to pozwala na kontrolę przeglądarki.