Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Wysyłanie formularza Curl
Kasat
post 29.08.2013, 11:34:07
Post #1





Grupa: Zarejestrowani
Postów: 60
Pomógł: 2
Dołączył: 22.08.2008

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


Witajcie, mam problem ponieważ na stronie wizzair.com jest formularz szukania lotu z x lotniska na y lotnisko z zależnościami do daty itp.

form action jest na pl-PL/Select, jednak gdy tam wysyłam formularz to niestety przekierowuje mnie na /pl-PL/Search
Przyczyną pewnie jest brak odebrania danych POST..
Po przetestowaniu skryptu okazuje się, że domyślne nazwy pól input jest chyba za długie.. bo gdy je zostawiam to testowy skrypt nie odbiera danych, a gdy tylko lekko je skrócę to od razu odbiera... Możecie pomóc?

  1. <?php
  2.  
  3. $url = 'http://wizzair.com/pl-PL/Select';
  4. $site = 'http://wizzair.com/pl-PL/Search';
  5. $html = pobierzstrone($site);
  6. preg_match('/<input id="viewState" type="hidden" value="(.*)" name="viewState">/', $html, $viewstate);
  7. $d = 'ControlGroupRibbonAnonHomeView$AvailabilitySearchInputRibbonAnonHomeView$';
  8. $postFields['eventTarget'] = '';
  9. $postFields['eventArgument'] = '';
  10. $postFields[$d.'ReturnDate'] = '2013-09-28';
  11. $postFields[$d.'ButtonSubmit'] = 'Szukaj';
  12. $postFields[$d.'DepartureDate'] = '2013-09-02';
  13. $postFields[$d.'PaxCountINFANT'] = '0';
  14. $postFields[$d.'PaxCountCHD'] = '0';
  15. $postFields[$d.'PaxCountADT'] = '1';
  16. $postFields['viewState'] = $viewstate[1];
  17. $postFields['pageToken'] = '';
  18. $postFields[$d.'OriginStation'] = 'AES';
  19. $postFields[$d.'DestinationStation'] = 'VNO';
  20. $postFields[$d.'StudetSeniorGroup'] = 'off';
  21. $postFields[$d.'WizzFlightSearchInput2_COUNTRIES'] = 'PL';
  22.  
  23. szukaj($url, $postFields);
  24.  
  25.  
  26. function szukaj($url,$postFields){
  27. $ch = curl_init($url);
  28. curl_setopt($ch, CURLOPT_POSTFIELDS, $postFields);
  29. curl_exec($ch);
  30. curl_close($ch);
  31. }
  32.  
  33. function pobierzstrone($site){
  34. $ch = curl_init();
  35. curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
  36. curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
  37. curl_setopt($ch, CURLOPT_TIMEOUT, 40);
  38. curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
  39. curl_setopt($ch, CURLOPT_COOKIEJAR, "cookie.txt");
  40. curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt");
  41. curl_setopt($ch, CURLOPT_URL, $site);
  42. return curl_exec ($ch);
  43. curl_close ($ch);
  44.  
  45. }
  46.  
  47.  
  48.  
  49. ?>
Go to the top of the page
+Quote Post
buliq
post 29.08.2013, 11:51:09
Post #2





Grupa: Zarejestrowani
Postów: 559
Pomógł: 93
Dołączył: 4.03.2008
Skąd: Olsztyn

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


Nie pomagamy łamać prawa.

Post to nie wszystko...


--------------------
KTOŚ TU PACZY???

Kompedium wiedzy
Go to the top of the page
+Quote Post
Kasat
post 29.08.2013, 11:59:01
Post #3





Grupa: Zarejestrowani
Postów: 60
Pomógł: 2
Dołączył: 22.08.2008

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


Jakie łamanie prawa tu widzisz? haha.gif
To skrypt wysyłajacy formularz w celu późniejszego odebrania danych na temat cen itd.
Coś jak strona informacyjna haha.gif
Go to the top of the page
+Quote Post
buliq
post 29.08.2013, 12:29:10
Post #4





Grupa: Zarejestrowani
Postów: 559
Pomógł: 93
Dołączył: 4.03.2008
Skąd: Olsztyn

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


Gdyby wizzair chciał to udostępniać to udostępnił by API, to jak powiedzieć że postowanie cudzych artykułów na własnej stronie nie jest kradzieżą, bo przecież wszyscy mają dostęp do tych artykułów.


--------------------
KTOŚ TU PACZY???

Kompedium wiedzy
Go to the top of the page
+Quote Post
Kasat
post 29.08.2013, 12:38:15
Post #5





Grupa: Zarejestrowani
Postów: 60
Pomógł: 2
Dołączył: 22.08.2008

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


Porównanie dajesz tak jakby z dupy, ale dobra..
Zgłoszę Googla za to, że indeksuje zawartość moich stron: teksty, obrazki etc... ^^
Nie będę z Tobą wdawał się w dyskusje, bo to nie o to mi chodzi.


Nie chodzi mi oczywiście o napisanie całego kodu, tylko o nakierowanie w czym może być problem.

Ten post edytował Kasat 29.08.2013, 12:39:06
Go to the top of the page
+Quote Post
jackraymund
post 29.08.2013, 21:05:57
Post #6





Grupa: Zarejestrowani
Postów: 217
Pomógł: 21
Dołączył: 10.06.2011
Skąd: Głogów

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


  1. $postFields['eventTarget'] = '';
  2. $postFields['eventArgument'] = '';
  3. $postFields[$d.'ReturnDate'] = '2013-09-28';
  4. $postFields[$d.'ButtonSubmit'] = 'Szukaj';
  5. $postFields[$d.'DepartureDate'] = '2013-09-02';
  6. $postFields[$d.'PaxCountINFANT'] = '0';
  7. $postFields[$d.'PaxCountCHD'] = '0';
  8. $postFields[$d.'PaxCountADT'] = '1';
  9. $postFields['viewState'] = $viewstate[1];
  10. $postFields['pageToken'] = '';
  11. $postFields[$d.'OriginStation'] = 'AES';
  12. $postFields[$d.'DestinationStation'] = 'VNO';
  13. $postFields[$d.'StudetSeniorGroup'] = 'off';
  14. $postFields[$d.'WizzFlightSearchInput2_COUNTRIES'] = 'PL';

zrobiles vardump tego? tak zrób
  1. $postFields['eventTarget'] = '';
  2. $postFields['eventArgument'] .= '';
  3. $postFields[$d.'ReturnDate']. = '2013-09-28';
  4. $postFields[$d.'ButtonSubmit'] .= 'Szukaj';
  5. $postFields[$d.'DepartureDate'] .= '2013-09-02';
  6. $postFields[$d.'PaxCountINFANT'] .= '0';
  7. $postFields[$d.'PaxCountCHD'] .= '0';
  8. $postFields[$d.'PaxCountADT'] .= '1';
  9. $postFields['viewState'] .= $viewstate[1];
  10. $postFields['pageToken'] .= '';
  11. $postFields[$d.'OriginStation'] .= 'AES';
  12. $postFields[$d.'DestinationStation'] .= 'VNO';
  13. $postFields[$d.'StudetSeniorGroup'] .= 'off';
  14. $postFields[$d.'WizzFlightSearchInput2_COUNTRIES'] = 'PL';


@edit
+
do funkcji szukaj dodaj
curl_setopt($ch, CURLOPT_POST, true);

Ten post edytował jackraymund 29.08.2013, 21:06:56


--------------------
Wykonuje zlecenia na pobieranie danych ze stron i różne boty.
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 31.07.2025 - 07:52