Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zapytanie z programu zewnętrznego do strony..., zobaczymy jacy z Was kozacy :P
TomASS
post
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 smile.gif

Otóż. Mam aplikację w C++ która może wysyłać zapytanie HTTP smile.gif Chcę w ten sposób odwołać się do strony internetowej (którą napisałem) i w odpowiedzi dostać TYLKO cyfry, problem jest w tym, że owa strona do komunikacji "dalej" korzysta z JS :/ czyli w odpowiedzi dostanę kod JS :/



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


--------------------
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 19)
acztery
post
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
Go to the top of the page
+Quote Post
NoiseMc
post
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.


--------------------
Go to the top of the page
+Quote Post
Hacker
post
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
Go to the top of the page
+Quote Post
TomASS
post
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.


--------------------
Go to the top of the page
+Quote Post
menic
post
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 winksmiley.jpg


--------------------
Jak masz cos zrobic dobrze...
...To musisz zrobić to sam.

Uchwycić moment...
Go to the top of the page
+Quote Post
empathon
post
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 tongue.gif
Pomysł ohydny i nie praktyczny...


--------------------
Goldenline: Łukasz Rodziewicz
Go to the top of the page
+Quote Post
TomASS
post
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..... smile.gif
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 tongue.gif Do tego raczej skomplikowany do wykonania tongue.gif


--------------------
Go to the top of the page
+Quote Post
empathon
post
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 winksmiley.jpg
http://www.mozilla.org/scriptable/zero-ASM-proposal.html
http://www.digitalmars.com/d/archives/digi...Script/169.html


--------------------
Goldenline: Łukasz Rodziewicz
Go to the top of the page
+Quote Post
Jabol
post
Post #10





Grupa: Przyjaciele php.pl
Postów: 1 467
Pomógł: 13
Dołączył: 22.02.2003

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


Cytat(TomASS @ 9.08.2007, 12:49:33 ) *
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
Go to the top of the page
+Quote Post
php programmer
post
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
Go to the top of the page
+Quote Post
NoiseMc
post
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)


--------------------
Go to the top of the page
+Quote Post
TomASS
post
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 smile.gif


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 sad.gif

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 smile.gif


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


--------------------
Go to the top of the page
+Quote Post
Hacker
post
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ść tongue.gif (joke)


--------------------
(\.../)This is Bunny
(O.o)Copy Bunny into your signature to help him...
(> <)...on his way to world domination
Go to the top of the page
+Quote Post
NoiseMc
post
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?


--------------------
Go to the top of the page
+Quote Post
Jabol
post
Post #16





Grupa: Przyjaciele php.pl
Postów: 1 467
Pomógł: 13
Dołączył: 22.02.2003

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


Cytat(TomASS @ 9.08.2007, 16:22:44 ) *
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 smile.gif

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ś...
Go to the top of the page
+Quote Post
TomASS
post
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ś...


--------------------
Go to the top of the page
+Quote Post
bim2
post
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 winksmiley.jpg


--------------------
Go to the top of the page
+Quote Post
barF
post
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/
Go to the top of the page
+Quote Post
TomASS
post
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 smile.gif To jednak przerasta moje umiejętności i porzuciłem mapę Europy na rzecz samej (ale za to bardzo dokładnej) mapy Polski smile.gif

trasowanie/

Dzięki za pomoc


--------------------
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 Aktualny czas: 19.08.2025 - 14:25