Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]cURL - post z hidden inputem + losowy adres strony
SSB
post
Post #1





Grupa: Zarejestrowani
Postów: 40
Pomógł: 0
Dołączył: 21.12.2008
Skąd: Świnoujście

Ostrzeżenie: (0%)
-----


Witam,
Próbuję wysłać formularz poprzez cURL, jednakowoż strona docelowa bardzo się przed tym broni. Ma token zmieniający się co odświeżenie strony, co nie było trudne do zrobienia. Formularz znajduje się na stronie http://xxxxxxxx.pl/formularz/. Jednakże po wysłaniu formularza strona za każdym razem ma inny adres strony. Trzy przykłady o co chodzi:
http://XXXXXXXX.pl/akceptuj/dA5zT/
http://XXXXXXXX.pl/akceptuj/dA5N9/
http://XXXXXXXX.pl/akceptuj/dA67l/
Czy jest możliwość wykonania tego? Adres strony jest generowany podejrzewam po numerze ID, więc ciężko z tym. Formularz odwołuje się do samego siebie (http://xxxxxxxxxxxx.pl/formularz/).
Pozdrawiam i z góry dziękuję za pomoc
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
markuz
post
Post #2





Grupa: Zarejestrowani
Postów: 1 240
Pomógł: 278
Dołączył: 11.03.2008

Ostrzeżenie: (0%)
-----


Na http://olx.pl/nowe-ogloszenie/confirmpage/dA81b/activate/ wchodzisz przez GET, POST robisz na http://olx.pl/nowe-ogloszenie/ i tam faktycznie wysyłasz data[adding_key] który pobierasz ze źródła strony:
Kod
<input type="hidden" name="data[adding_key]" value="adding_569fb7ad009e79.72140125" />
za pomocą np. phpquery w ten sposób:
  1. $doc = phpQuery::newDocument($output); // html z formularzem
  2. $adding_key = pq('input[name=data[adding_key]]')->attr('value');
Go to the top of the page
+Quote Post
SSB
post
Post #3





Grupa: Zarejestrowani
Postów: 40
Pomógł: 0
Dołączył: 21.12.2008
Skąd: Świnoujście

Ostrzeżenie: (0%)
-----


Cytat(markuz @ 20.01.2016, 17:42:13 ) *
Na http://olx.pl/nowe-ogloszenie/confirmpage/dA81b/activate/ wchodzisz przez GET, POST robisz na http://olx.pl/nowe-ogloszenie/ i tam faktycznie wysyłasz data[adding_key] który pobierasz ze źródła strony:
Kod
<input type="hidden" name="data[adding_key]" value="adding_569fb7ad009e79.72140125" />
za pomocą np. phpquery w ten sposób:
  1. $doc = phpQuery::newDocument($output); // html z formularzem
  2. $adding_key = pq('input[name=data[adding_key]]')->attr('value');


Z wyciągnięciem nie ma problemu - robię to tym:
  1. $content = file_get_contents('http://olx.pl/nowe-ogloszenie/');
  2. $doc = new DOMDocument();
  3. $doc->loadHTML($content);
  4. $tags = $doc->getElementsByTagName('input');
  5. foreach ($tags as $tag) {
  6. if($tag->getAttribute('name') === 'data[adding_key]') {
  7. $token = $tag->getAttribute('value');
  8. }
  9. }


Problem jest z tym, że wyciągnę adding_key za pomocą tego, po czym będę chciał wysłać POST na http://olx.pl/nowe-ogloszenie/ to na tą próbę będzie już nadany nowy adding_key, gdy tak próbuję robić wyskakuje mi komunikat OLX'owy "Szukaliśmy tej strony ale nie ma jej w naszym serwisie". Gdy zmienię adding_key za pomocą np. Tamper Data - wyskakuje to samo, więc myślę, że ten błąd spowodowany jest właśnie błędnym adding_key. Czyli nie mogę na stronę dodawania ogłoszenia wejść dwa razy. Na to osobiście nie mogę znaleźć rozwiązania.

edit: adding_key wyciągam przed wykonaniem cURLa, po wyciągnięciu przypisuję go do $post_data i dopiero wtedy odpala się cURL

Ten post edytował SSB 20.01.2016, 17:53:59
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 7.10.2025 - 10:30