Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wysyłanie formularza Curl
Kasat
post
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
 
Start new topic
Odpowiedzi
buliq
post
Post #2





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.
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: 4.10.2025 - 14:53