![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 544 Pomógł: 5 Dołączył: 18.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Tytuł nie wiele mówiący, ale dokładnie o to mi chodzi. Dostałem zapytanie o stworzenie panelu dla powiedzmy sklepu internetowego, który chce mieć zintegrowane Allegro i jeszcze jeden inny serwis. W przypadku Allegro to proste bo mają API, ale tamten drugi serwis nie ma. Czy jest jakaś możliwość żeby za pomocą czegoś (CURL?) wystawić przedmiot na tamtej stronie? Oczywiście trzeba się tam zalogować na swoje konto itp. Czy jest to w ogóle do zrobienia?
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 365 Pomógł: 70 Dołączył: 5.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
Tak jest do zrobienia.
Możesz zaprogramować wszystko co możesz zrobić ręcznie. Przecież jak obsługujesz przeglądarkę (klikasz coś) to ona wysyła requests, odbiera responses, zapisuje cookies itd. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 365 Pomógł: 70 Dołączył: 5.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
I jeszcze dobra rada jeśli przewidujesz więcej używać tego nie api.
Owiń sobie to w jakiś wrapper, najprosciej jak sie da, żeby można było temu wrapperowi powiedzieć co ma robić, bez detali. np.
Tak jako minimalna abstrakcja - na pewno na przyszłość będzie łatwiejsze w użyciu a i będzie łatwiej dopisać i używać inną integrację. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Ja bym zaczął od upewnienia się czy na pewno nie mają API, być może mają API niepubliczne, warto się dowiedzieć. A jeśli nie ma, to tak jak koledzy przede mną napisali - testowanie co, jak i z czym się wysyła. Na przykład zakładka Network w narzędziach developerskich Google Chrome stanie się Twoim przyjacielem.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Taa, Pisanie "API" pod stronę NieApi to zgroza. O ile przy prostych serwisach nie ma problemu większego to większe serwisy często starają się jak mogą avy utrudnić takie działania (vel Play (IMG:style_emoticons/default/biggrin.gif) )
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 544 Pomógł: 5 Dołączył: 18.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Przecież jak obsługujesz przeglądarkę (klikasz coś) to ona wysyła requests, odbiera responses, zapisuje cookies itd. Tak właśnie myślałem. Wiem jak to ogarnąć Ajaxem ale chyba CURLem byłoby wygodniej? Jeśli się da bo w CURLu nie siedziałem za bardzo, nie wiem czy mogę otworzyć jakąś stronkę wysyłając przy tym jakieś headery itp.. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Jak najbardziej możesz. Wszystko co w przeglądarce odbierasz / wysyłasz zrobisz też curlem. Ale powodzenia szczerze mówiąc. Załóżmy że ten serwis ma drzewo kategorii jak allegro, różne parametry dla produktów. Mordercza praca.
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Ewentualnie zamiast curl użyć jakiejś "przeglądarki cli" np phantomjs. Wtedy nie jesteś zależy od zmian wprowadzanych na stronie i nie musisz się martwić jak przy logowaniu zmieni się pole formularza a pobieranie wspomnianych kategorii jest prostsze i w czasie "rzeczywistym"
Ten post edytował !*! 16.11.2016, 15:54:46 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Ajaxem tego nie zrobisz jeśli docelowa strona nie wysyła odpowiednich nagłówków
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 10:09 |