WWW bez przegladarki

0

Przepraszam za nie logowanie sie, ale mam z tym problemy, ciagle. Mam pytanie: czy mozna, a jesli tak to w jakim jezyku, odwolac sie bezposrednio do np. pola search w google'u, tzn. wpisac tam jakas wartosc bez uzywania przegladarki, ruchow mysza i klawiatury. Z gory dziekuje za pomoc.

0

To zależy czy chodzi ci o pole search czy o zasymulowanie wpisania i wcisniecia przycisku szukaj, bo jesli to drugie to wystarczy połączenie na port 80 googla i GET /odpowiedni_dokument_php.php?query=szukane%20slowo

no, mniej więcej tak :-)

0

Zobacz jak Google przekazuje parametry do skryptu. Faktem jest, ze metoda GET - np. www.google.com/szukaj?Q=szukana+fraza

Musisz po prostu przeanalizowac parametry, ktore sa przekazywane do skryptu. Ok, zapewne trudniejsza rzecza bedzie odczytanie tego, co zwrocilo Google i wyswietlenie w swoim programie. IMHO najlatwiej to zrobic w Delphi korzystajac z gniazdek albo gotowych juz komponentow - np. pakietu Indy.

W skroce polega to na polaczeniu sie z konkretnym hostem (w tym przypadku google.com) oraz przekazanie odpowiednich parametrow metoda GET w wyniku czego serwer zwroci kod HTML z rezultatem wyszukania. I tu zaczyna sie najtrudniejsza rzecz - parsowanie kodu HTML i wyswielenie odpowiednich wartosci. W Delphi masz do tego funkcje Copy(), Pos() ale z tym bedzie duzo zabawy, poniewaz Delphi nie obsluguje mechanizmu wyrazen regularnych. Wiec dobrym pomyslem byloby uzycie Perla, bo w nim wyrazenia regularne sa najlepiej zaimplementowane chociaz z drugiej strony z Perlem bedzie wiecej zabawy aby odczytac kod HTML zwrocony z serwera google. Podsumowujac wiec: jezeli mialbym wybierac, wybrabym do tego Perla, lecz Perl nie jest jezykiem kompilowanym, a jedynie interpreterem wiec nie wiem - to co wybierzesz teraz zalezy od ciebie.

0

A czy moglbym prosic o opis tej metody GET? Tak bardziej dla laika. Bo jesli np. chcialbym zalozyc konto pocztowe, podajac odpowiednie dane w swoim programie, klikajac OK i ogladajac przez chwilke pasek postepu, to czy ona by pomogla?

0

Ale o czym ty mowisz??? Metoda GET to sposob przesylania danych z formularza WWW do skryptu (programu). W takim wypadku wszelkie dane z formularza beda "dolepione" do URL'a.

0

hmmm GET i tyle, parametrem jest tylko adres dokumentu

a jeslibyś chcial odczytać pocztę (chyba myślisz o bramce) to musiałbyś jeszcze cookies zasymulować, lepiej już połączyć się na port 110 serwera

0

To teraz zrobiles mu w glowie jescze wiekszy metlik :)) [diabel]
Sluchaj - zapoznaj sie najperw z takimi pojeciami: HTTP, <wiki href="Porty_protoko%C5%82u">port</wiki>, HTML, WWW.

Masz na stronie napisany w jezuku HTML formularz, w ktorym sa kontrolki do wpisywania parametrow - w tym wypadku parametrow konta pocztowego. Po nacisnieciu przycisku 'Submit' (wyslij, zaloz konto etc.) dane z formularza sa transmitowane do skryptu, ktory juz robi z nimi co ma zrobic ;) Te dane moga byc przekazane metoda POST oraz GET. Metoda GET polega na przekazaniu wszystkich wartosci z formularza w adresie strony (URL). W przypadku POST tych wartosci nie widac, bo sa przesylane w naglowku HTTP. Teraz musisz przeanalizowac kod HTML formularza ktory znajduje sie na stronie i sprawdzic, czy dane z formularza sa przesylane metoda GET czy POST - szukaj takiego fragmentu kodu:

<form method="GET" ....
0

Metoda get jest prosta, bo wystarczy zmontowac odpowiedni link. Nie ma zastosowania, jesli chodzi o zakladanie kont pocztowych. Tak wiec zajme sie metoda post, teraz juz przynajmniej wiem, czego szukac. Dziekuje bardzo za pomoc, jesli niczego nie znajde, albo czegos nie zrozumiem, zglosze sie ponownie. Jeszcze raz dzieki.

0

Wiecie kazdy z was odpowiada jak nalezy ale mysle ze pytajacy chcialby bardziej konkretna odpowiedz :) No a ja odpowiem konkretniej Ja polecam komponent HttpGet moze tez byc IdHttp (z pakietu indy) Jak wrzucisz HttpGet na forme to wrzuc tez jakis button i w OnClick wpisz cos takiego:

begin
HttpGet.Url := 'http://www.google.pl/search?q=kupa&ie=ISO-8859-2&hl=pl&btnG=Szukaj+z+Google';
HttpGet.GetString;
end;

Oczywiscie jesli chcesz wyszukac slowa kupa. Tam gdzie masz w adresie q=kupa to zmienic na co tylko chcesz :) W OnDoneString komponentu HttpGet wpisz memo1.text := Result; i w memo bedziesz mial kod wygenerowanej strony :) No a teraz sie baw w wyszukiwanie linkow bo chyba oto ci chodzi :) Mam nadzieje ze teraz bedziesz wiedzial jak to zrobic :)

0

Dzieki, to bardzo dokladny opis wykorzystania metody GET, teraz zostala mi tylko POST.

0

Z tego co wyczytalem, to formularz komunikujacy sie ze skryptem metoda POST wykorzystuje naglowek HTML, czyli wlasciwie nic nowego sie nie dowiedzialem. Jak szukalem czegos o naglowkach HTML, to wlasciwie tez same definicje i teorie. Jakos ciezko mi to wszystko posklejac. Moglbym prosic o odpowiedz na pytanie: jak przekazac parametry do skryptu komunikujacego sie metoda POST?

0

Po pierwsze naglowek HTTP nie HTML :)
A jak przekazac? Zalezy od jezyka programowania. To zbyt ogolne pytanie. Jezeli w Delphi to sluza do tego pakiety Indy, a przyklady takich progamow znajdzeisz na tej stronie.

0

Hmm, chcialem pisac w Visual C++. Komercha, wiem, ale programy w nim napisane mniej pamieci zajmuja, tak slyszalem przynajmniej, a to priorytet. Wiem juz, jak mozna napisac to w php, jest na tej stronie w FAQ cala funkcja, wiem tez, jak napisac w Delphi, z pomoca komponentow Indy, tez na stronie sa instrukcje. Mozna to jakos w Visualu? Bardzo, bardzo dziekuje za pomoc.

1 użytkowników online, w tym zalogowanych: 0, gości: 1