|
Wpisał doctor
|
|
Sobota, 10. Luty 2007 03:51 |
|
Odczyt publicznego IP
Adresy w sieci Internet dzieli się na klasy. Klasa adresu mówi o tym, ile w danej sieci może być komputerów oraz ile może być takich sieci. Często zachodzi potrzeba poznania adresu IP, pod którym jesteśmy widziani "na zewnątrz".
Na serwerze pod adresem doctor.programuj.com/whatismyip.php jest strona, która zwraca adres IP w czystej postaci bez żadnego formatowania.
Zbudujemy aplikację, która będzie pobierać text "wypluty" przez parser PHP, a następnie wyświetlimy go na etykiecie Label. Na formę oprócz tego kładziemy też komponent HTTPReqResp1 z palety WebServices.
A więc do pracy. TFileStream *Str = new TFileStream("ip.txt", fmCreate); HTTPReqResp1->Agent = "doctor browser"; HTTPReqResp1->URL = "http://doctor.programuj.com/whatismyip.php"; HTTPReqResp1->Get(Str); //odczyt ze strumienia char tmp[20]; Str->Seek(0, soFromBeginning); Str->Read(&tmp, 20); delete Str; //wyjsciowy rezultat Label1->Caption = (String)tmp; |
Opis działania programu
Na początek tworzymy strumień, do którego będzie zapisywany text. Następnie po odczycie, ustawiamy wskaĽnik strumienia na początek pliku. Odczytujemy 20 bajtów. Tyle bo adres IPv4 może mieć max. długość 15B (4 oktety + 2 kropki). Na koniec wyświetlamy text na etykiecie Label. Gdy strumień nie będzie już potrzebny, usuwamy go. Pod tym adresem http://doctor.programuj.com/whatismybrowser.php możesz także sprawdzić, jaka jest Twoja przeglądarka. Identycznie możemy zapisywać do strumienia np. obrazki.
|
|
Ostatnia aktualizacja: Piątek, 10. Lipiec 2009 14:03 |