![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 1 660 Pomógł: 13 Dołączył: 9.06.2004 Skąd: Wrocław i okolice Ostrzeżenie: (0%) ![]() ![]() |
Witam, nie za bardzo wiem, w którym dziale to napisać, a jak nie wiadomo gdzie to na Hydepark
![]() Otóż. Mam aplikację w C++ która może wysyłać zapytanie HTTP ![]() Może zademonstruję. Aplikacja w C++ do liczenia odległości pomiędzy miastami - wysyłam zapytanie HTTP do strony internetowej i w odpowiedzi mam dostać tylko cyfrę (oznaczającą odległość) - strona to np.: Wrocław - Olsztyn dostanę w odpowiedzi 503 i tą informację potrzebuję jako zwrot do mojej aplikacji w C++, jednak dostanę nie 503, tylko kod JS bez 503 (bo to JS generuje 503) :/ Strona korzysta z mechanizmu ViaMichelin API, który niestety jest w JavaScript :/ Ktoś ma pomysł jak to wydziergać? Dzięki za pomoc Ten post edytował TomASS 8.08.2007, 21:28:59 -------------------- |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 945 Pomógł: 7 Dołączył: 15.03.2005 Skąd: katowice Ostrzeżenie: (0%) ![]() ![]() |
a musisz do tego stosować protokół HTTP a może po gniazdku SOCKET prosciej by to wyglądało. nie wiem na ile możesz sobie pozwolić na edycje programu i strony. Alle miałem taki program i komunikowałem sie własnie za posrednictwem SOCKETA
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 398 Pomógł: 10 Dołączył: 24.11.2004 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Ja raczej bym sie przegrzebal przez wszystkie te pliki .js ktore sie tam pojawiaja i znalazl gdziestam xmlhttprequest zeby zobaczyc jaki serwer pyta o dane. Niestety jest tego tam masa i dodatkowo kod jest w jednej linijce i moze to troche czasu zajac.
-------------------- |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 225 Pomógł: 0 Dołączył: 1.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
@NoiseMc
Ten skrypt nie wysyła 1 zapytania, a lepszym sposobem od przeszukiwania całego skryptu pod kątem xmlhttprequest jest skorzystanie z ff i Live HTTP Headers... ale i to Ci nic nie da, bo skrypt wykonuje jeszcze jakieś obliczenia i w odpowiedzi nie dostaje 503 (nawet opakowanego w XML), a... kod JavaScript Ten post edytował Hacker 9.08.2007, 09:45:24 -------------------- (\.../)This is Bunny
(O.o)Copy Bunny into your signature to help him... (> <)...on his way to world domination |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 1 660 Pomógł: 13 Dołączył: 9.06.2004 Skąd: Wrocław i okolice Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za pomysły ale.....
Cytat protokół HTTP a może po gniazdku SOCKET prosciej by to wyglądało Nie wyglądało by prościej, tak samo SOCKET nie odpali JS :/ Cytat Ten skrypt nie wysyła 1 zapytania No właśnie :/ Cytat ale i to Ci nic nie da, bo skrypt wykonuje jeszcze jakieś obliczenia i w odpowiedzi nie dostaje 503 (nawet opakowanego w XML), a... kod JavaScript No o to chodzi! To JS generuje 503 :/ Ktoś ma jakieś dalsze pomysły. -------------------- |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 493 Pomógł: 0 Dołączył: 14.06.2003 Skąd: Tomaszów Lubelski/Rzeszów Ostrzeżenie: (0%) ![]() ![]() |
tak...
przepisac kod generujacy na PHP ![]() -------------------- |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 246 Pomógł: 31 Dołączył: 13.11.2006 Skąd: się znamy? Ostrzeżenie: (0%) ![]() ![]() |
Jedyny pomysł jaki mi przychodzi do głowy to zrobić zrzut ekranu przeglądarki z konsoli a następnie odczytać wartość jakimś algorytmem do rozpoznawania tekstu
![]() Pomysł ohydny i nie praktyczny... -------------------- Goldenline: Łukasz Rodziewicz
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 1 660 Pomógł: 13 Dołączył: 9.06.2004 Skąd: Wrocław i okolice Ostrzeżenie: (0%) ![]() ![]() |
pfff.....
![]() Cytat tak... przepisac kod generujacy na PHP przecież piszę wyraźnie, że API ViaMichelin jest w JS! Cytat Jedyny pomysł jaki mi przychodzi do głowy to zrobić zrzut ekranu przeglądarki z konsoli a następnie odczytać wartość jakimś algorytmem do rozpoznawania tekstu. Pomysł ohydny i nie praktyczny... Tak, ohydny i nie praktyczny ![]() ![]() -------------------- |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 246 Pomógł: 31 Dołączył: 13.11.2006 Skąd: się znamy? Ostrzeżenie: (0%) ![]() ![]() |
Być może to Cię zainteresuje
![]() http://www.mozilla.org/scriptable/zero-ASM-proposal.html http://www.digitalmars.com/d/archives/digi...Script/169.html -------------------- Goldenline: Łukasz Rodziewicz
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 467 Pomógł: 13 Dołączył: 22.02.2003 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za pomysły ale..... Nie wyglądało by prościej, tak samo SOCKET nie odpali JS :/ No właśnie :/ No o to chodzi! To JS generuje 503 :/ Ktoś ma jakieś dalsze pomysły. No coz, osobiscie proponuje zrobic parser html+js, moze byc lightweight i bedzie ok. Jezeli juz wyczowasz ironie, to wytlumacze: jezeli cos jest pisane w JS to musisz miec parser JS, zeby dostac tego wynik. Nie ma tekiej mozliwosci, zebys otworzyl strone poprzez socketa i dostal to co widzisz na ekranie, poniewaz odpowiada za to wiele MB bibliotek. Mozesz przesledzic wykonywanie skryptu w JS i po prostu zlezc ten najwazniejszy "clue". To powinno zrobic sztuczke, ale i tak musisz sie przekopac przez ten JS (tyle, ze druga wersja nie wymaga pisania wielu kodu, a tylko kartki i olowka, ew. debuggera). A tak swoja droga nie moge sie oprzec wrazeniu, ze Ci sie nie chce a chialbys, zeby dzialalo... Pozdrawiam Wyzej pewnego elementu ciala nie podskoczysz pamietaj. Z drugiej strony nie ma rzeczy niemozliwych. Po prostu niemozliwe trwa dluzej... Ten post edytował Jabol 9.08.2007, 14:21:37 |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 1 045 Pomógł: 5 Dołączył: 8.11.2004 Skąd: trójmiasto Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem jak jest w C++, ale w Delphi była taka fukcja, do pobrania pliku z internetu:
Kod teskt = PobierzPlik('http://jakas_tam_strona.pl/plik.txt'); // nazwa zmyślona, bo niepamiętam więc myślę, że w C++ tym bardziej takowa funkcja być powinna, a jeśli tak to jako parametr wywołujesz skrypt php z odpwiednio ustawionym GET'em w url, skrypt robi echo takie jak tam chcesz, czyli sama liczba Ten post edytował php programmer 9.08.2007, 14:22:51 |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 398 Pomógł: 10 Dołączył: 24.11.2004 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Cytat ale i to Ci nic nie da, bo skrypt wykonuje jeszcze jakieś obliczenia i w odpowiedzi nie dostaje 503 (nawet opakowanego w XML), a... kod JavaScript Trzeba by wygrzebac wartosci jakie pobiera od serwera, podejrzec jak JS to oblicza i napisac taki sam algorytm w jezyku w ktorym piszesz aplikacje ... no dla mnie jedyne wyjscie ... chyba ze interpreter JS napiszesz albo zastosujesz OCR tak jak koledzy wspomnieli ale to chyba nie za dobry pomysl. Co konkretnie potrzebujesz ? Z tego co wiem to chyba nie tylko Michelin ma GeoLocator ... moze sprawdz ten z ktorego korzysta Google Maps (http://www.google.com/apis/maps/documentation/index.html) -------------------- |
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 1 660 Pomógł: 13 Dołączył: 9.06.2004 Skąd: Wrocław i okolice Ostrzeżenie: (0%) ![]() ![]() |
Cytat Jezeli juz wyczowasz ironie, to wytlumacze: jezeli cos jest pisane w JS to musisz miec parser JS, zeby dostac tego wynik. Nie ma tekiej mozliwosci, zebys otworzyl strone poprzez socketa i dostal to co widzisz na ekranie, poniewaz odpowiada za to wiele MB bibliotek. Mozesz przesledzic wykonywanie skryptu w JS i po prostu zlezc ten najwazniejszy "clue". To powinno zrobic sztuczke, ale i tak musisz sie przekopac przez ten JS (tyle, ze druga wersja nie wymaga pisania wielu kodu, a tylko kartki i olowka, ew. debuggera). No właśnie chcę uniknąć przekopywania się przez bibioteki :/ Cytat A tak swoja droga nie moge sie oprzec wrazeniu, ze Ci sie nie chce a chialbys, zeby dzialalo... Masz rację 0 masz tylko takie wrażenie a tak nie jest. Jakby mi się nie chciało to bym się za to nie zabierał. Cytat Z drugiej strony nie ma rzeczy niemozliwych. Po prostu niemozliwe trwa dluzej... O! Też tak uważam, także myślę, że w końcu znajdę (znajdziemy) rozwiązanie ![]() Cytat Nie wiem jak jest w C++, ale w Delphi była taka fukcja, do pobrania pliku z internetu: Kod teskt = PobierzPlik('http://jakas_tam_strona.pl/plik.txt'); // nazwa zmyślona, bo niepamiętam więc myślę, że w C++ tym bardziej takowa funkcja być powinna, a jeśli tak to jako parametr wywołujesz skrypt php z odpwiednio ustawionym GET'em w url, skrypt robi echo takie jak tam chcesz, czyli sama liczba A czy przeczytałeś dokładnie? Plik umiem pobrać - problem leży gdzie indziej - pobierzesz stronę z kodem JS - i co dalej? To właśnie ten kod JS ma wygenerować odpowiedź. Odpowiedzi nigdzie na stronie nie ma. Właśnie z tym jest problem ![]() Kod Z tego co wiem to chyba nie tylko Michelin ma GeoLocator ... moze sprawdz ten z ktorego korzysta Google Maps (http://www.google.com/apis/maps/documentation/index.html) Potrzebuję liczyć trasę od do.... przez konkretne punkty, a tylko Via Michelin ma AKTUALNE dane. Cytat Trzeba by wygrzebac wartosci jakie pobiera od serwera, podejrzec jak JS to oblicza i napisac taki sam algorytm w jezyku w ktorym piszesz aplikacje ... no dla mnie jedyne wyjscie ... No na razie chciałbym tego uniknąć :/ Nie to, że jestem leń, ale po co wyważać otwarte drzwi ![]() Acha jest jeszcze jeden myk! Nie mogę zrobić parsera bo wynik musi być konkretnie z tej strony - przy rejestracji podaje się stronę z które będą odpalane skrypty JS - inaczej nie działają. Czyli potrzebują coś co sparsuje mi sam wynik :/ Ten post edytował TomASS 9.08.2007, 15:41:38 -------------------- |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 225 Pomógł: 0 Dołączył: 1.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
Chyba większość nie zrozumiała mojej wypowiedzi
Cytat ale i to Ci nic nie da, bo skrypt wykonuje jeszcze jakieś obliczenia i w odpowiedzi nie dostaje 503 (nawet opakowanego w XML), a... kod JavaScript Chodziło mi o to, że skrypt JS pobiera dane z serwera tak około 4 razy i za każdym razem otrzymuje inny skrypt JS... Zainstaluj na jakimś serwerze przeglądarkę potem skrypt PHP, który ją odpali i otworzy odpowiednią stronę, a potem z przeglądarki odczyta wartość ![]() -------------------- (\.../)This is Bunny
(O.o)Copy Bunny into your signature to help him... (> <)...on his way to world domination |
|
|
![]()
Post
#15
|
|
![]() Grupa: Zarejestrowani Postów: 398 Pomógł: 10 Dołączył: 24.11.2004 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
A zagladales moze tutaj?
-------------------- |
|
|
![]()
Post
#16
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 467 Pomógł: 13 Dołączył: 22.02.2003 Ostrzeżenie: (0%) ![]() ![]() |
No właśnie chcę uniknąć przekopywania się przez bibioteki :/ Masz rację 0 masz tylko takie wrażenie a tak nie jest. Jakby mi się nie chciało to bym się za to nie zabierał. O! Też tak uważam, także myślę, że w końcu znajdę (znajdziemy) rozwiązanie ![]() No cóż, IMHO masz wybór, jest kilka możliwości. Albo napisać web service który będzie to obliczał i podawał wynik, a nie skrypt który do dopiero obliczy. 2 możlwość, to, że sprawdzisz jak to jest obliczane, zatrudnisz coś w rodzaju sed+awk+grep (albo jakieś biblioteki o podobnej funkcjonlaności) i znajdziesz w skrypcie to co się naprawdę liczy, tzw. dane wejściowe a potem zrobisz dokładnie to samo co skrypt tylko w aplikacji. 3 możliwość to wykorzystanie jakieś biblioteki wykonującej JavaScript. Jakiegoś parsera. Dalej możesz np. zlinkować swoją aplikację z silnikiem Gecko i wykorzystać ich interfejs (LOL:P). No i jeszcze gdzieś słyszałem o server-side JS. Mogłbyś zatrudnić serwer do ewaluacji skryptu. W każdym razie nawet jeżeli istnieją jeszcze jakieś możliwości nie ma takiej którą by się dało wykorzystać z nastawieniem braku chęci do nauczenia się czegoś... |
|
|
![]()
Post
#17
|
|
![]() Grupa: Zarejestrowani Postów: 1 660 Pomógł: 13 Dołączył: 9.06.2004 Skąd: Wrocław i okolice Ostrzeżenie: (0%) ![]() ![]() |
Cytat Albo napisać web service który będzie to obliczał i podawał wynik, a nie skrypt który do dopiero obliczy. 2 możlwość, to, że sprawdzisz jak to jest obliczane, zatrudnisz coś w rodzaju sed+awk+grep (albo jakieś biblioteki o podobnej funkcjonlaności) i znajdziesz w skrypcie to co się naprawdę liczy, tzw. dane wejściowe a potem zrobisz dokładnie to samo co skrypt tylko w aplikacji. Myślę, że jest to niezły pomysł zatrudnienie sed i awk, ale jest pewien problem - skrypt musi być odpalany z domeny podanej przeze mnie. Dobre pomysły, tylko wstrzymałbym się przed osądem typu: Cytat W każdym razie nawet jeżeli istnieją jeszcze jakieś możliwości nie ma takiej którą by się dało wykorzystać z nastawieniem braku chęci do nauczenia się czegoś...
-------------------- |
|
|
![]()
Post
#18
|
|
![]() Grupa: Zarejestrowani Postów: 1 873 Pomógł: 152 Dołączył: 9.04.2006 Skąd: Berlin Ostrzeżenie: (0%) ![]() ![]() |
Nie jestem jakimś specjalistą i to co mówię może być strasznie lamerskie, ale nie ma możliwości odpalenia IE z poziomu skryptu i odczytanie danych jakie wygenerował? Jeśli można zrobić screna całej strony dlaczego nie można odczytać wartości
![]() -------------------- |
|
|
![]()
Post
#19
|
|
![]() Grupa: Zarejestrowani Postów: 43 Pomógł: 1 Dołączył: 17.01.2006 Skąd: pionowe Ostrzeżenie: (0%) ![]() ![]() |
pogooglowalem troszke i nasunelo mi sie cos takiego http://www.njs-javascript.org/
|
|
|
![]()
Post
#20
|
|
![]() Grupa: Zarejestrowani Postów: 1 660 Pomógł: 13 Dołączył: 9.06.2004 Skąd: Wrocław i okolice Ostrzeżenie: (0%) ![]() ![]() |
Dzięki wszystkim
![]() ![]() trasowanie/ Dzięki za pomoc -------------------- |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 14:25 |