Interfejs programowy WinInet, WinHttp

Wielkość: px
Rozpocząć pokaz od strony:

Download "Interfejs programowy WinInet, WinHttp"

Transkrypt

1 Interfejs programowy WinInet, WinHttp Aplikacja httpget dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska Opole zlipinski@math.uni.opole.pl

2 Protokół HTTP HTTP, ang. Hypertext Transfer Protocol, Wersja HTTP/1.0 opisana w specyfikacji RFC Wersja HTTP/1.1 opisana w specyfikacji RFC Protokół HTTP wykorzystywany jest do komunikacji między klientem z serwerem WWW. Domyślny port nasłuchiwania serwera WWW to port TCP 80. 2

3 Uniform Resource Identifier Uniform Resource Identifier (URI) jest stringiem, który poprzez nazwę, adres lub inną charakterystykę służy do identyfikacji zasobów w sieci internetowej. Uniform Resource Identifier (URI) znane są jako: adresy WWW, Universal Document Identifiers (UDI), Universal Resource Identifiers (URI), kombinacja Uniform Resource Locators (URL) i Uniform Resource Names (URN). Uniform Resource Locators (URL), RFC 1738, to string reprezentujący zasoby w Internecie. W specyfikacji RFC 1630 skrót URL wyjaśniony jest jako Universal Resource Identifiers dla WWW: URL jest stringiem URI, który wskazuje na obiekty i protokół dostępu w sieciach internetowych. 3

4 Struktura adresu URL Składnia adresu URL w notacji BNF: <scheme>:<scheme-specific-part> Możliwe artości scheme : ftp File Transfer protocol http Hypertext Transfer Protocol gopher The Gopher protocol mailto Electronic mail address news USENET news nntp USENET news using NNTP access telnet Reference to interactive sessions wais Wide Area Information Servers file Host-specific file names prospero Prospero Directory Service 4

5 Interfejs programowy WinInet WinInet API jest zbiorem obiektów, operacji, funkcji, które realizują funkcjonalność aplikacji sieciowych charakterystycznych dla warstw aplikacji, prezentacji, sesji modelu OSI. WinInet API pozwala tworzyć aplikacje sieciowe bez konieczności programowania funkcjonalności w niższych warstwach modelu OSI (protokołów rodziny TCP/IP, WinSock API). WinInet API pozwala na tworzenie aplikacji sieciowych (klientów usług) które mogą: pobierać strony HTML z serwera WWW za pomocą protokołu HTTP, komunikować się z serwerem FTP w celu transferu plików, wykorzystywać system Gopher w celu dostępu do zasobów Internetu. WinInet API pozawala tworzyć aplikacje sieciowe wykorzystujące protokoły: HTTP FTP Gopher. 5

6 Wybrane funkcje WinInet API Wybrane funkcje WinInet API: InternetOpen() Funkcja inicjalizuje użycie przez aplikacje funkcji Win32 Internet API, tworzy główny uchwyt (root HINTERNET handle). InternetCloseHandle() Funkcja zamyka uchwyt główny i wszystkie uchwyty potomne. InternetConnect() Funkcja otwiera sesję FTP, Gopher lub HTTP h z serwerem. Funkcja wymaga aby był utworzony uchwyt funkcją InternetOpen(). InternetQueryOption() - Funkcja służy do generowania zapytań o opcje połączeń. InternetSetOption(), InternetSetStatusCallback(), InternetConfirmZoneCrossing(), InternetTimeFromSystemTime() InternetReadFile() InternetOpenUrl() - Funkcja służy od pobierania plików z serwera. Funkcja wymaga utworzonego uchwytu funkcjami InternetOpenUrl(), FtpOpenFile(), GopherOpenFile() lub HttpOpenRequest(). dla adresów URL typu HTTP, FTP, Gopher lub uchwytów utworzonych funkcją HttpOpenRequest() używającej metody GET(). Funkcja służy do pobierania adresów URL FTP, Gopher lub HTTP. Funkcja wymaga utworzonego uchwytu funkcją InternetOpen(). 6

7 Wybrane funkcje WinInet API InternetWriteFile() - Funkcja zapisuje dane do otwartego pliku. Funkcja wymaga utworzonego uchwytu funkcją FtpOpenFile(). InternetCrackUrl() - Funkcja dzieli adres URL na składniki. InternetCreateUrl() - Funkcja tworzy adres URL (typ string) ze składników URL a. InternetCanonicalizeUrl() - Funkcja konwertuje adres URL na formę kanoniczną, patrz RFC The canonical form for "http" URLs is obtained by converting any UPALPHA characters in host to their LOALPHA equivalent (hostnames are case-insensitive), eliding the [ ":" port ] if the port is 80, and replacing an empty abs_path with "/". InternetCombineUrl() - Funkcja łączy adres główny z adresami alternatywnymi. HttpOpenRequest() Funkcja otwiera uchwyt HTTP request. HttpSendRequest() - Funkcja wysyła żądanie do serwera HTTP (serwera WWW). HttpQueryInfo() - InternetErrorDlg() - Funkcja służy do zapytań o informacje na temat HTTP request. Funkcja kieruje na wyjście dialogi o błędach. InternetGetCookie() - Funkcja zwraca cookies dla określonego adresu URL a i jego adresów głównych ( parent URLs ). 7

8 Wybrane funkcje Http WinInet API InternetSetCookie() - Funkcja ustawia cookie dla określonego adresu URL. CommitUrlCacheEntry() - Funkcja przechowuje dane w określonym pliku i kojarzy plik z adresem URL. CreateUrlCacheEntry(), GetUrlCacheEntryInfo(), ReadUrlCacheEntryStream(), SetUrlCacheEntryInfo(), UnlockUrlCacheEntryFile(), DeleteUrlCacheEntry(), FindCloseUrlCache(), FindFirstUrlCacheEntry(), FindNextUrlCacheEntry(). Wybrane funkcje FTP: FtpFindFirstFile(), FtpGetFile(), FtpPutFile(), FtpDeleteFile(), FtpRenameFile(), FtpOpenFile(), FtpCreateDirectory(), FtpRemoveDirectory(), FtpSetCurrentDirectory(), FtpGetCurrentDirectory(). Wybrane funkcje Gopher: GopherFindFirstFile(), GopherOpenFile(), GopherCreateLocator(), GopherGetAttribute(). 8

9 Uchwyty WinInet API Uchwyty internetowe internet handles służą do odbierania danych zwracanych przez funkcje WinInet API. Uchwyty WinInet API są typu HINTERNET. Hierarchia uchwytów WinInet API: uchwyt główny sesji, uchwyt zwracany przez funkcje InternetOpen(), uchwyty pochodne, uchwyty zwracane przez takie funkcje, jak np. InternetConnect(). 9

10 WinHTTP API Microsoft Windows HTTP Services API (WinHTTP API) jest uproszczoną wersją WinInet API (podzbiorem funkcji WinInet API bez funkcji FTP, Gopher). Implementacja API: Winhttp.h, Winhttp5.lib. Aplikacja wykorzystująca protokół HTTP pracująca jako serwer powinna być pisana z wykorzystaniem WinHTTP (nie WinInet). Elementy WinHTTP API: Obsługa protokołu HTTP/1.0, obsługa sesji złożonych z wielu zapytań (keep-alive, persistent connections) i mechanizm identyfikacji sesji za pomocą session cookies. Obsługa protokołu HTTP/1.1, obsługa kolejkowania anonimowych sesji. Obsługa protokołu Secure Sockets Layer (SSL 2.0, SSL 3.0, Transport Layer Security1.0), wykorzystanie certyfikatów do identyfikacji. Wbudowane funkcje identyfikacyjne serwera proxy, wykorzystanie mechanizmów identyfikacji i autoryzacji systemu Kerberos. Wbudowany interfejs do obsługi języków skryptowych. Obsługa Microsoft XML (MSXML). 10

11 Wybrane funkcje WinHTTP API: WinHTTP API WinHttpOpen(), WinHttpConnect(), WinHttpOpenRequest(), WinHttpSendRequest(), WinHttpReceiveResponse(), WinHttpQueryOption(), WinHttpCloseHandle() Uchwyty sesji HTTP: Generic Typ uchwytu Funkcja tworząca uchwyt WinHttpOpen(), WinHttpConnect(), WinHttpOpenRequest() Identyfikator hinternet Session WinHttpOpen() hsession Connection WinHttpConnect() hconnect Request WinHttpOpenRequest() hrequest Metody żądania stron: OPTIONS, GET, HEAD, PUT, POST, DELETE, TRACE, CONNECT. Szczegóły opisane są w specyfikacji RFC 2616 dla protokołu HTTP/

12 Metody żądania stron OPTIONS - metoda pozwala pobrać dane dotyczące opcji związanych z połączeniem HTTP, możliwości (capabilities) serwera WWW bez konieczności inicjowania procesu pobierania danych. GET - HEAD - POST - PUT - DELETE - TRACE - metoda pobierania istniejących zasobów z serwera WWW lub uruchomienie procesu generowania i zwracania danych przez serwer WWW do klienta. metoda służy do pobiera nagłówka dokumentu. Metodą HEAD nie można pobrać danych z obszaru BODY. metoda służy do pobiera danych z serwera WWW, wprowadzana bloków danych na serwer, w szczególności służy do przekazywania danych z formatek w celu przetwarzania ich na serwerze, uaktualniana bazy danych poprzez serwer WWW. metoda służy do wprowadzania danych na serwer WWW. URI w metodzie PUT służy do identyfikacji zasobu do którego mają być wprowadzone dane, nie wskazuje na proces przetwarzania danych na serwerze WWW lub tworzenia nowego zasobu. metoda służy do usuwania danych z serwera WWW. URI w metodzie DELETE oznacza zasób do usunięcia. metoda służy do zdalnego uruchamiania pętli zwrotnej na serwerze WWW, generowania odpowiedzi echa, tzn. klient wysyła wiadomość żądaniem jej zwrotu. Metoda służy klientowi do sprawdzania jakie dane mogą być zwracane przez serwer, do testów i diagnostyki serwera. Zwracane dane nie mogą być cache wane. CONNECT - metoda służy do komunikacji z serwerami proxy w celu przełączenia komunikacji w tryb tunelowy. 12

13 WinHTTP API. Kolejność wywoływania funkcji w sesji HTTP Kolejność wywoływania funkcji w sesji HTTP. Źródło: MSDN 13

14 Struktura Skladnikow URL a Definicja struktury SKLADNIKI_URL typedef struct { DWORD dwstructsize; // wielkość struktury liczona w bajtach LPSTR lpszscheme; // wskaźnik do zmiennej która przchowuje nazwę schematu DWORD dwschemelength; // wielkość nazwy schematu liczona w TCHAR INTERNET_SCHEME nscheme; // schemat URL a (typ protokołu), np.. ftp: LPSTR lpszhostname; // wskaźnik do zmiennej która przchowuje nazwę hosta DWORD dwhostnamelength; // wielkość nazwy hosta liczona w TCHAR INTERNET_PORT nport; // numer portu (przekonwertowany) typ unsigned int LPSTR lpszusername; // wskaźnik do zmiennej która przchowuje nazwę użytkownika DWORD dwusernamelength; // wielkość nazwy użytkownika liczona w TCHAR LPSTR lpszpassword; // wskaźnik do zmiennej która przchowuje hasło DWORD dwpasswordlength; // wielkość hasła liczona w TCHAR LPSTR lpszurlpath; // wskaźnik do zmiennej która przchowuje ścieżkę URLa DWORD dwurlpathlength; // wielkość ścieżki URLa liczona w TCHAR LPTSTR lpszextrainfo; // wskaźnik do zmiennej która przchowuje dodatkowe informacje DWORD dwextrainfolength; // wielkość dodatkowych informacji liczona w TCHAR } SKLADNIKI_URL; 14

15 Typ wyliczeniowy INTERNET_SCHEME typedef enum { INTERNET_SCHEME_PARTIAL = -2, // Partial URL. INTERNET_SCHEME_UNKNOWN = -1, // Unknown URL scheme. INTERNET_SCHEME_DEFAULT = 0, // Default URL scheme. INTERNET_SCHEME_FTP, // FTP URL scheme (ftp:). INTERNET_SCHEME_GOPHER // Gopher URL scheme (gopher:). INTERNET_SCHEME_HTTP, // HTTP URL scheme ( INTERNET_SCHEME_HTTPS, // HTTPS URL scheme ( INTERNET_SCHEME_FILE, // File URL scheme (file:). INTERNET_SCHEME_NEWS, // News URL scheme (news:). INTERNET_SCHEME_MAILTO, // Mail URL scheme (mailto:). INTERNET_SCHEME_SOCKS, // Socks URL scheme (socks:). INTERNET_SCHEME_JAVASCRIPT, // JScript URL scheme (javascript:). INTERNET_SCHEME_VBSCRIPT, // VBScript URL scheme (vbscript:). INTERNET_SCHEME_FIRST = INTERNET_SCHEME_FTP, // Lowest known scheme value. INTERNET_SCHEME_LAST = INTERNET_SCHEME_VBSCRIPT // Highest known scheme value. } INTERNET_SCHEME, * LPINTERNET_SCHEME; 15

16 Specyfikacja funkcji InternetOpen() Nazwa funkcji : InternetOpen() Zwracana wartość: HINTERNET Argumenty: LPCTSTR lpszagent, DWORD dwaccesstype, LPCTSTR lpszproxyname (OPTIONAL), LPCSTR lpszproxybypass (OPTIONAL), DWORD dwflags lpszagent dwaccesstype lpszproxyname lpszproxybypass dwflags Nazwa programu (nazwa agenta http). Typ dostępu. Wartości: INTERNET_OPEN_TYPE_DIRECT, INTERNET_OPEN_TYPE_PROXY, INTERNET_OPEN_TYPE_PRECONFIG. Adres serwera proxy. Wartości: <adres> lub NULL. Alternatywny adres serwera proxy. Wartości: <adres> lub NULL. Opcje funkcji. Kombinacja wartości: INTERNET_FLAG_OFFLINE, INTERNET_FLAG_ASYNC. Opis : Funkcja inicjuje sesje, tworzy główny uchwyt internetowy (root HINTERNET handle). Wyjątki : Gdy otwarcie uchwytu się nie powiedzie funkcja zwraca NULL. INTERNET_OPEN_TYPE_PRECONFIG konfiguracja ma być pobrana z rejestrów 16

17 Specyfikacja funkcji InternetSetOption() Nazwa funkcji : InternetSetOption() Zwracana wartość: typ Bool, prawda lub fałsz. Argumenty: HINTERNET hinternet, DWORD dwoption, LPVOID lpbuffer, DWORD dwbufferlength. hinternet [in] uchwyt sesji. dwoption [in] opcje internetowe. lpbuffer [in] wskaźnik do bufora zawierającego ustawienia opcji internetowych. dwbufferlength [in] wielkość bufora. Opis : Funkcja ustawia opcje internetowe. Opcje internetowe (wybrane): INTERNET_OPTION_CONNECT_TIMEOUT INTERNET_OPTION_DATA_RECEIVE_TIMEOUT INTERNET_OPTION_CALLBACK INTERNET_OPTION_CODEPAGE INTERNET_OPTION_DATA_SEND_TIMEOUT 17

18 Specyfikacja funkcji InternetCrackUrl() Nazwa funkcji : InternetCrackUrl() Zwracana wartość: BOOL Argumenty : LPCSTR lpszurl, DWORD dwurllength, DWORD dwflags, LPURL_COMPONENTS lpurlcomponents lpszurl Adres do stringu zawierającego URL. dwurllength Długość adresu URL, NULL dla stringu ASCIIZ. dwflags Flagi. ICU_ESCAPE - Convert unsafe characters in the URL-path component to escape sequences. ICU_DECODE - Convert encoded characters back to their normal form. This can be used only if the user provides buffers to copy the components into. lpurlcomponents Składniki Url'a. Opis : Funkcja dzieli i przekazuje w częściach adres Url. 18

19 Specyfikacja funkcji InternetConnect() Nazwa funkcji : InternetConnect() Zwracana wartość: HINTERNET Argumenty :HINTERNET hinternetsession, LPCTSTR lpszservername, INTERNET_PORT nserverport, LPCTSTR lpszusername OPTIONAL, LPCTSTR lpszpassword OPTIONAL, DWORD dwservice, DWORD dwflags, DWORD dwcontext. hinternetsession - lpszservername - nserverport - lpszusername - lpszpassword - dwservice - dwflags - dwcontext - Uchwyt otwarty przez InternetOpen(). Adres serwera (może być adres IP zapisany w formie 10-tkowej). Numer portu TCP serwera. Wartości: INTERNET_INVALID_PORT_NUMBER, INTERNET_DEFAULT_FTP_PORT, INTERNET_DEFAULT_GOPHER_PORT, INTERNET_DEFAULT_HTTP_PORT, INTERNET_DEFAULT_HTTPS_PORT Adres stringu zawierającego nazwę użytkownika który się loguje. Adres stringu zawierającego hasło użytkownika. Typ usługi. Wartości: INTERNET_SERVICE_FTP, INTERNET_SERVICE_GOPHER, INTERNET_SERVICE_HTTP. Flagi usługi. Np. dla INTERNET_SERVICE_FTP flaga ma wartości: INTERNET_CONNECT_FLAG_PASS, IVE. Wartość definiowana przez aplikację aby zidentyfikować uchwyt dla wiadomości zwrotnej. An application-defined value that is used to identify the application context for the returned handle in callbacks. Opis : Funkcja otwiera sesje FTP, Ghoper, HTTP z serwerem. Funkcja wymaga uchwytu utworzonego przez InternetOpen(). 19

20 Nazwa funkcji : HttpOpenRequest() Zwracana wartosc: HINTERNET Specyfikacja funkcji HttpOpenRequest() Argumenty : HINTERNET hhttpsession, LPCTSTR lpszverb, LPCTSTR lpszobjectname, LPCTSTR lpszversion, LPCTSTR lpszreferer OPTIONAL, LPCTSTR FAR * lpszaccepttypes OPTIONAL, IN DWORD dwflags, DWORD dwcontext. hhttpsession - Uchwyt do sesji http. lpszverb - Metoda pobrania pliku, np. "GET" ("GET" = "NULL") // patrz RFC 2616 lpszobjectname - lpszversion - lpszreferer - lpszaccepttypes - dwflags - dwcontext - Ścieżka do pliku na serwerze. Wersja HTTP, "NULL" oznacza "HTTP/1.0. Adres URL do żądanego dokumentu. Wartość: <adres> lub NULL. Wskaźnik zawierający adres do tablicy LPCTSTR wskazującej typ zawartość danych (content types) jakie akceptuje klient. Jeżeli parametr ma wartość NULL to znaczy, że klient nie akceptuje żadnego typu danych (serwer interpretuje wartość NULL jako akceptację tylko typu "text/* ). Wartość: <adres> lub NULL. Flagi, takie same jak dla InternetOpenUrl(). Wartość definiowana przez aplikację aby zidentyfikować operacje z danymi aplikacji. An application-defined value that associates this operation with any application data. Opis : Funkcja otwiera uchwyt zapytania. Funkcja wymaga uchwytu utworzonego przez InternetConnect(). Wyjątki : Funkcja gdy nie może otworzyć sesji zwraca NULL. 20

21 Specyfikacja funkcji InternetReadFile() Nazwa funkcji : InternetReadFile() Zwracana wartość: BOOL Argumenty : HINTERNET hfile, LPVOID lpbuffer, DWORD dwnumberofbytestoread, LPDWORD lpnumberofbytesread hfile- Uchwyt utworzony przez HttpOpenRequest() lub InternetOpenUrl(). lpbuffer - Adres bufora (do zapisu). dwnumberofbytestoread - Liczba bajtów danych to czytania. lpnumberofbytesread - Adres zmiennej zawierającej liczbę bajtów to czytania Opis : Funkcja pobiera plik z serwera. Funkcja wymaga uchwytu utworzonego przez InternetOpenUrl() lub HttpOpenRequest(). Wyjątki : Zawraca zero (0) gdy nie może przeczytać pliku. 21

22 Specyfikacja funkcji InternetCloseHandle() Nazwa funkcji: InternetCloseHandle() Zwracana wartość: BOOL Zwracana wartość jest TRUE jeżeli zamknięcie uchwytu zakończyło się sukcesem, w przeciwnym przypadku zwracana jest wartość FALSE. Argumenty : HINTERNET hinet. hinet - uchwyt do zamknięcia. Opis : Funkcja zamyka uchwyt utworzony przez funkcje WinInet API. Funkcja zadeklarowana w pliku Wininet.h. Implementacja w bibliotece Wininet.lib Wymagana jest bibliteka Wininet.dll. 22

23 Specyfikacja funkcji HttpQueryInfo() Nazwa funkcji : HttpQueryInfo() Zwracana wartość: BOOL Argumenty : hrequest [in] dwinfolevel [in] HINTERNET hrequest, DWORD dwinfolevel, LPVOID lpbuffer, LPDWORD lpdwbufferlength, LPDWORD lpdwindex uchwyt Open HTTP request zwracany przez HttpOpenRequest() lub InternetOpen(). Specifies a combination of the attribute to query and the flags that modify the request. The following table shows the possible attribute values. lpbuffer [in, out] wskaźnik typu long void do bufora, który służy do odbierania danych (żądań HTTP). lpdwbufferlength [in, out] wskaźnik typu long do zmiennej która przechowuje długość bufora do odbierania danych. Wsakaźnik przechowuje długość stringu 1 ( znak zera zakończenia - terminating null). lpdwindex - [in, out] wskaźnik typu long do indeksu nagłówka złużącego do numerowania nagłówków o takich samych nazwach. Opis : Funkcja służy do uzysknia informacji parametrach HTTP request. 23

24 Internet Server API (ISAPI) Extensions Internet Server API jest zbiorem funkcji (implementowanych w bibliotekach dll) służących do zarządzania i żądania usługi indeksowania (Indexing Service) serwerów WWW IIS. 24

25 Odwzorowanie typów danych Generic-textdata type name SBCS (_UNICODE, _MBCS not defined) _MBCS defined (Multibyte Character Sets) _UNICODE defined _TCHAR char char wchar_t _tfinddata_t _finddata_t _finddata_t _wfinddata_t _tfinddata64_t finddata64_t finddata64_t wfinddata64_t _tfinddatai64_t _finddatai64_t _finddatai64_t _wfinddatai64_t _TINT int int wint_t _TSCHAR signed char signed char wchar_t _TUCHAR unsigned char unsigned char _TXCHAR char unsigned char _T or _TEXT No effect (removed by preprocessor) No effect (removed by preprocessor) L(converts following character or string to its Unicodecounterpart) 25

26 Specyfikacja projektu Nazwa projektu: httpget Typ projektu: Win32 console application Lista plików: httpget.cpp Metoda kompilacji: Microsoft Visual C Utworzyć projekt typu 'Win32 console application w menu (-)File-> New -> Project-> Other languages-> Visual C++ -> win32 -> Win32 console application -> wpisać nazwę: httpget -> przycisk (OK) -> Okno Win32 application wizard httpget-> wybrać: Application settings -> wybrać: Empty project-> Przycisk (Finish). Konfiguracja projektu: (-)Project-> nazwa_projektu Properies... -> Configuration Properies-> Linker-> Input -> Additional Dependecies, wpisać: WinInet.Lib. Uwaga: w pliku httpget.vcproj, atrybutowi CharacterSet tagu Configuration przypisać wartość 2, tzn. <Configuration CharacterSet="2 > Opis programu: Program pobiera metodą GET plik tekstowy z serwera WWW. Uruchomienie. W linii komend (Run-> cmd) wpisać: \>nazwa_aplikacji adres_url nazwa_pliku_do_zapisu Przykład: Z serwera www pobierany jest plik home.html i zapisywany do pliku home.html \>httpget home.html 26

27 Struktura programu. Funkcje WinHttp. Funkcje WinInet, WinHttp: InternetOpen() InternetConnect() InternetCrackUrl() HttpOpenRequest() InternetReadFile() InternetCloseHandle() Uchwyty internetowe (internet handle): Uchwyt sesji : HINTERNET hinternet; Uchwyt do połączeń: HINTERNET hconnect; Uchwyt do zapytań : HINTERNET hhttprequest; Deklaracja obiektu SkladnikiUrla typu SKLADNIKI_URL. SKLADNIKI_URL SkladnikiUrla; // patrz: URL_COMPONENTS 27

28 Struktura programu. Zmienne programu. Zmienne programu: #define BUFOR_SIZE 4096 #define URL_SIZE 64 #define TIME_OUT 5000L // wielkość bufora // Max. dlugość adresu URL // time-out (w millisekundach) na połączenie i czytanie danych SKLADNIKI_URL SkladnikiUrla; char char char char scheme[url_size]; host[url_size]; path[url_size]; bufor[bufor_size]; FILE * DWORD DWORD BOOL DoPliku; TimeOutSesji; dlugosc; // argument funkcji InternetReadFile() wynikredfile; DWORD dlugoscbufora; // dlugość czytanego stringu DWORD wielkoscbufora; // wielkość bufora 28

29 Struktura programu. Funkcja main(). (1) Sprawdzenie wprowadzenia poprawnej ilości argumentów do funkcji main(). (2) Otwarcie sesji http. hinternet = InternetOpen(argv[0], INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0); (3) Sprawdzenie czy sesja została otwarta. Czy hinternet == NULL? (4) Określenie czasu na połączenie i czytanie danych. TimeOutSesji = TIME_OUT; (5) Przekazanie i sprawdzenie parametrów sesji http. Określenie czasu na połączenie: InternetSetOption(hInternet, INTERNET_OPTION_CONNECT_TIMEOUT, (void *) &TimeOutSesji, sizeof(timeoutsesji)); Określenie czasu na czytanie danych: InternetSetOption(hInternet, INTERNET_OPTION_DATA_RECEIVE_TIMEOUT, (void *)&TimeOutSesji, sizeof(timeoutsesji)); 29

30 Struktura programu. Funkcja main(). (6) Określenie wartości składników URL'a SkladnikiUrla.dwStructSize = sizeof(skladnikiurla); SkladnikiUrla.lpszScheme = scheme; SkladnikiUrla.dwSchemeLength = sizeof(scheme); SkladnikiUrla.lpszHostName = host; SkladnikiUrla.dwHostNameLength = sizeof(host); SkladnikiUrla.lpszUserName = NULL; SkladnikiUrla.dwUserNameLength = 0; SkladnikiUrla.lpszPassword = NULL; SkladnikiUrla.dwPasswordLength = 0; SkladnikiUrla.lpszUrlPath = path; SkladnikiUrla.dwUrlPathLength = sizeof(path); SkladnikiUrla.lpszExtraInfo = NULL; SkladnikiUrla.dwExtraInfoLength = 0; 30

31 Struktura programu. Funkcja main(). (7) Podział i sprawdzenie poprawności podziału adresu URL. InternetCrackUrl(argv[1], 0, 0, &SkladnikiUrla); (8) Sprawdzenie czy składnik nscheme jest prawidłowy. SkladnikiUrla.nScheme!= INTERNET_SCHEME_HTTP; (9) Otwarcie połączenia. hconnect = InternetConnect(hInternet, host, SkladnikiUrla.nPort, NULL, NULL, INTERNET_SERVICE_HTTP, 0, 0); (10) Sprawdzenie poprawności otwarcia połączenia. Czy hconnect == NULL? (11) Żądanie pobrania strony www metodą GET. hhttprequest = HttpOpenRequest(hConnect, "GET", path, NULL, NULL, NULL, 0, 0); 31

32 Struktura programu. Funkcja main(). (12) Sprawdzenie poprawności żądania strony. Czy hhttprequest == NULL? (13) Wysłanie i sprawdzenie poprawności żądania pobrania strony www. HttpSendRequest(hHttpRequest, NULL, 0, NULL, 0); (14) Określenie wielkości bufora na żądaną stronę www. wielkoscbufora = sizeof(dlugoscbufora); (15) Przekazanie i sprawdzenie wielkości bufora. HttpQueryInfo(hHttpRequest, HTTP_QUERY_CONTENT_LENGTH HTTP_QUERY_FLAG_NUMBER, &dlugoscbufora, &wielkoscbufora, NULL); (16) Otwarcie i sprawdzenie poprawności otwarcia pliku do zapisu. Czy (DoPliku = fopen(argv[2], "w")) == NULL? 32

33 Struktura programu. Funkcja main(). (17) Zapis strony www do pliku (zapis jeżeli: dlugosc > 0 i wynikredfile!=0 ) wynikredfile = InternetReadFile(hHttpRequest, bufor, sizeof(bufor), &dlugosc); fwrite(bufor, sizeof(char), dlugosc, DoPliku); (18) Sprawdzenie czy plik jest przeczytany. Czy!wynikRedFile? (19) Zamknięcie sesji http. InternetCloseHandle(hInternet); (20) Zamknięcie pliku. fclose(dopliku); 33

34 #include <winsock.h> #include <wininet.h> #include <iostream> using namespace std; #define BUFFER_LENGTH 4096 // wielkosc bufora #define URL_FIELD_LENGTH 64 // Max. dlugosc adresu URL #define TIME_OUT 5000L // time-out (w millisekundach) na polaczenie i czytanie int errexit(hinternet, const char *,...); int main(int argc, char* argv[]) { HINTERNET hinternet; // uchwyt sesji (internet handle) HINTERNET hconnect; // uchwyt do polaczen HINTERNET hhttprequest; // uchwyt do zapytan URL_COMPONENTS UrlComponents; char scheme[url_field_length]; char host[url_field_length]; char path[url_field_length]; char buffer[buffer_length]; FILE * fd; DWORD optvalue; DWORD length; BOOL ret; DWORD length_buffer; // dlugosc czytanego stringu DWORD length_buffer_size; // wielkosc bufora 34

35 if (argc!= 3) { cout << "wpisz: " << argv[0] << " URL nzaw_pliku" << endl; return 1; } hinternet = InternetOpen(argv[0], INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0); if (hinternet == NULL) { cout <<"InternetOpen() error no: " << GetLastError() << endl; return 1; } optvalue = TIME_OUT; if(!internetsetoption(hinternet, INTERNET_OPTION_CONNECT_TIMEOUT, (void *) &optvalue, sizeof(optvalue))) { errexit(hinternet, "InternetConnect() failed: %d\n", GetLastError()); return 1; } if(!internetsetoption(hinternet, INTERNET_OPTION_DATA_RECEIVE_TIMEOUT, (void *) &optvalue, sizeof(optvalue))) { errexit(hinternet, "InternetConnect() failed: %d\n", GetLastError()); return 1; } 35

36 UrlComponents.dwStructSize = sizeof(urlcomponents); UrlComponents.lpszScheme = scheme; UrlComponents.dwSchemeLength = sizeof(scheme); UrlComponents.lpszHostName = host; UrlComponents.dwHostNameLength = sizeof(host); UrlComponents.lpszUserName = NULL; UrlComponents.dwUserNameLength = 0; UrlComponents.lpszPassword = NULL; UrlComponents.dwPasswordLength = 0; UrlComponents.lpszUrlPath = path; UrlComponents.dwUrlPathLength = sizeof(path); UrlComponents.lpszExtraInfo = NULL; UrlComponents.dwExtraInfoLength = 0; if(!internetcrackurl(argv[1], 0, 0, &UrlComponents)) { errexit(hinternet, "InternetCrackURL() failed: %d\n", GetLastError()); return 1; } if(urlcomponents.nscheme!= INTERNET_SCHEME_HTTP) { errexit(hinternet, "wpisz: %s URL nazwa_pliku \n", argv[0]); return 1; } 36

37 cout <<"Pobieranie pliku: " << path << " z: " << host << endl; hconnect = InternetConnect(hInternet, host, UrlComponents.nPort, NULL, NULL, INTERNET_SERVICE_HTTP, 0, 0); if (hconnect == NULL) { errexit(hinternet, "InternetConnect() failed: %d\n", GetLastError()); return 1; } hhttprequest = HttpOpenRequest(hConnect, "GET", path, NULL, NULL, NULL, 0, 0); if (hhttprequest == NULL) { errexit(hinternet, "HttpOpenRequest() failed: %d\n", GetLastError()); return 1; } if (!HttpSendRequest(hHttpRequest, NULL, 0, NULL, 0)) { errexit(hinternet, "HttpSendRequest() failed: %d\n", GetLastError()); return 1; } length_buffer_size = sizeof(length_buffer); if(!httpqueryinfo(hhttprequest, HTTP_QUERY_CONTENT_LENGTH HTTP_QUERY_FLAG_NUMBER, &length_buffer, &length_buffer_size, NULL)) { errexit(hinternet, "HttpQueryInfo() failed: %d\n", GetLastError()); return 1; } cout << "Przeczytano bajtów: " << length_buffer << endl; 37

38 int err_no = 1; if ((err_no = fopen_s(&fd, argv[2], "w+"))!= 0) { errexit(hinternet, "Can't open %s", argv[2]); return 1; } do { ret = InternetReadFile(hHttpRequest, buffer, sizeof(buffer), &length); if(fwrite(buffer, sizeof(char), length, fd)!= length) { errexit(hinternet, "Write to %s failed\n", argv[2]); return 1; } } while (length > 0 && ret); if(!ret) { errexit(hinternet, "InternetReadFile() failed: %d\n", GetLastError()); return 1; } InternetCloseHandle(hInternet); fclose(fd); } // end main() 38

39 int errexit(hinternet hinternet, const char *format,...) { va_list args; va_start(args, format); vfprintf(stderr, format, args); va_end(args); InternetCloseHandle(hInternet); return 1; } // end errexit() 39

Rodzina protokołów TCP/IP. Aplikacja: ipconfig.

Rodzina protokołów TCP/IP. Aplikacja: ipconfig. Rodzina protokołów TCP/IP. Aplikacja: ipconfig. dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska 48 50-204 Opole zlipinski@math.uni.opole.pl Specyfikacja struktury FIXED_INFO Nazwa struktury:

Bardziej szczegółowo

Statystyka protokołów i połączeń sieciowych.

Statystyka protokołów i połączeń sieciowych. Statystyka protokołów i połączeń sieciowych. Aplikacja netstat. dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska 48 50-204 Opole zlipinski@math.uni.opole.pl Statystyka połączeń sieciowych.

Bardziej szczegółowo

Programowanie w Internecie

Programowanie w Internecie mariusz@math.uwb.edu.pl http://math.uwb.edu.pl/~mariusz Uniwersytet w Białymstoku 2018/2019 Co to jest Internet? Warunki zaliczenia Zaliczenie na podstawie opracowanej samodzielnie aplikacji WWW Zastosowane

Bardziej szczegółowo

Systemy internetowe. Wykład 5 Architektura WWW. West Pomeranian University of Technology, Szczecin; Faculty of Computer Science

Systemy internetowe. Wykład 5 Architektura WWW. West Pomeranian University of Technology, Szczecin; Faculty of Computer Science Systemy internetowe Wykład 5 Architektura WWW Architektura WWW Serwer to program, który: Obsługuje repozytorium dokumentów Udostępnia dokumenty klientom Komunikacja: protokół HTTP Warstwa klienta HTTP

Bardziej szczegółowo

Wybrane działy Informatyki Stosowanej

Wybrane działy Informatyki Stosowanej Wybrane działy Informatyki Stosowanej Dr inż. Andrzej Czerepicki a.czerepicki@wt.pw.edu.pl http://www2.wt.pw.edu.pl/~a.czerepicki 2017 Globalna sieć Internet Koncepcja sieci globalnej Usługi w sieci Internet

Bardziej szczegółowo

Tworzenie witryn internetowych PHP/Java. (mgr inż. Marek Downar)

Tworzenie witryn internetowych PHP/Java. (mgr inż. Marek Downar) Tworzenie witryn internetowych PHP/Java (mgr inż. Marek Downar) Hypertext Xanadu Project (Ted Nelson) propozycja prezentacji dokumentów pozwalającej czytelnikowi dokonywać wyboru Otwarte, płynne oraz ewoluujące

Bardziej szczegółowo

Wykład 3 / Wykład 4. Na podstawie CCNA Exploration Moduł 3 streszczenie Dr inż. Robert Banasiak

Wykład 3 / Wykład 4. Na podstawie CCNA Exploration Moduł 3 streszczenie Dr inż. Robert Banasiak Wykład 3 / Wykład 4 Na podstawie CCNA Exploration Moduł 3 streszczenie Dr inż. Robert Banasiak 1 Wprowadzenie do Modułu 3 CCNA-E Funkcje trzech wyższych warstw modelu OSI W jaki sposób ludzie wykorzystują

Bardziej szczegółowo

Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych.

Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych. Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych. 1. Przygotowanie środowiska programistycznego. Zajęcia będą

Bardziej szczegółowo

Stos TCP/IP. Warstwa aplikacji cz.2

Stos TCP/IP. Warstwa aplikacji cz.2 aplikacji transportowa Internetu Stos TCP/IP dostępu do sieci Warstwa aplikacji cz.2 Sieci komputerowe Wykład 6 FTP Protokół transmisji danych w sieciach TCP/IP (ang. File Transfer Protocol) Pobieranie

Bardziej szczegółowo

Protokół HTTP. 1. Protokół HTTP, usługi www, model request-response (żądanie-odpowiedź), przekazywanie argumentów, AJAX.

Protokół HTTP. 1. Protokół HTTP, usługi www, model request-response (żądanie-odpowiedź), przekazywanie argumentów, AJAX. Protokół HTTP 1. Protokół HTTP, usługi www, model request-response (żądanie-odpowiedź), przekazywanie argumentów, AJAX. 1 Usługi WWW WWW (World Wide Web) jest najpopularniejszym sposobem udostępniania

Bardziej szczegółowo

Laboratorium - Poznawanie FTP

Laboratorium - Poznawanie FTP Cele Część 1: Korzystanie z usługi FTP z wiersza poleceń. Część 2: Pobranie pliku z serwera FTP za pomocą WS_FTP LE Część 3: Korzystanie z usługi FTP w przeglądarce Scenariusz File Transfer Protocol (FTP)

Bardziej szczegółowo

Aplikacja Sieciowa. Najpierw tworzymy nowy projekt, tym razem pracować będziemy w konsoli, a zatem: File->New- >Project

Aplikacja Sieciowa. Najpierw tworzymy nowy projekt, tym razem pracować będziemy w konsoli, a zatem: File->New- >Project Aplikacja Sieciowa Jedną z fundamentalnych właściwości wielu aplikacji jest możliwość operowania pomiędzy jednostkami (np. PC), które włączone są do sieci. W Windows operacja ta jest możliwa przy wykorzystaniu

Bardziej szczegółowo

Technologie internetowe

Technologie internetowe Protokół HTTP Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Spis treści Protokół HTTP Adresy zasobów Jak korzystać z telnet? Metody protokołu HTTP Kody odpowiedzi Pola nagłówka HTTP - 2 - Adresy

Bardziej szczegółowo

Programowanie komponentowe. Przykład 1 Bezpieczeństwo wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz

Programowanie komponentowe. Przykład 1 Bezpieczeństwo wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz Programowanie komponentowe Przykład 1 Bezpieczeństwo wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz Struktura wykładu 1. Utworzenie użytkowników i ról na serwerze aplikacji Sun Java System Application

Bardziej szczegółowo

I - Microsoft Visual Studio C++

I - Microsoft Visual Studio C++ I - Microsoft Visual Studio C++ 1. Nowy projekt z Menu wybieramy File -> New -> Projekt -> Win32 Console Application w okienku Name: podajemy nazwę projektu w polu Location: wybieramy miejsce zapisu i

Bardziej szczegółowo

TCP/IP. Warstwa aplikacji. mgr inż. Krzysztof Szałajko

TCP/IP. Warstwa aplikacji. mgr inż. Krzysztof Szałajko TCP/IP Warstwa aplikacji mgr inż. Krzysztof Szałajko Modele odniesienia 7 Aplikacji 6 Prezentacji 5 Sesji 4 Transportowa 3 Sieciowa 2 Łącza danych 1 Fizyczna Aplikacji Transportowa Internetowa Dostępu

Bardziej szczegółowo

Sieci komputerowe. Wykład 8: Warstwa zastosowań: FTP i HTTP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Sieci komputerowe. Wykład 8: Warstwa zastosowań: FTP i HTTP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski Sieci komputerowe Wykład 8: Warstwa zastosowań: FTP i HTTP Marcin Bieńkowski Instytut Informatyki Uniwersytet Wrocławski Sieci komputerowe (II UWr) Wykład 8 1 / 26 Przypomnienie: Internetowy model warstwowy

Bardziej szczegółowo

Qt in Education. Sieć I drukowanie

Qt in Education. Sieć I drukowanie Qt in Education Sieć I drukowanie. 1 Tłumaczenie i adaptacja: dr inż. Piotr Kaczmarka na podstawie kursu na podstawie materiału Diga Plc. Materiały służą do prowadzenia zajęć z informatyki dla studentów

Bardziej szczegółowo

Tworzenie aplikacji rozproszonej w Sun RPC

Tworzenie aplikacji rozproszonej w Sun RPC Tworzenie aplikacji rozproszonej w Sun RPC Budowa aplikacji realizowana jest w następujących krokach: Tworzenie interfejsu serwera w języku opisu interfejsu RPCGEN Tworzenie: namiastki serwera namiastki

Bardziej szczegółowo

Protokół DNS. Aplikacja dnsquery

Protokół DNS. Aplikacja dnsquery Protokół DNS Domain Name System Aplikacja dnsquery dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska 48 50-204 Opole zlipinski@math.uni.opole.pl Protokół DNS DNS, (ang.) Domain Name System.

Bardziej szczegółowo

Laboratorium nr 4 - Badanie protokołów WWW

Laboratorium nr 4 - Badanie protokołów WWW Data ćwiczenia: 29.03.2017 Prowadzący: dr inż. Piotr Kurowski Przedmiot: Sieci komputerowe i bazy danych Wykonawca: Klaudia Gurbiel Kierunek: Inżynieria mechatroniczna Rok III, Semestr VI Laboratorium

Bardziej szczegółowo

INSTRUKCJA OBSŁUGI DLA SIECI

INSTRUKCJA OBSŁUGI DLA SIECI INSTRUKCJA OBSŁUGI DLA SIECI Zapisywanie dziennika druku w lokalizacji sieciowej Wersja 0 POL Definicje dotyczące oznaczeń w tekście W tym Podręczniku użytkownika zastosowano następujące ikony: Uwagi informują

Bardziej szczegółowo

MODEL WARSTWOWY PROTOKOŁY TCP/IP

MODEL WARSTWOWY PROTOKOŁY TCP/IP MODEL WARSTWOWY PROTOKOŁY TCP/IP TCP/IP (ang. Transmission Control Protocol/Internet Protocol) protokół kontroli transmisji. Pakiet najbardziej rozpowszechnionych protokołów komunikacyjnych współczesnych

Bardziej szczegółowo

Gatesms.eu Mobilne Rozwiązania dla biznesu

Gatesms.eu Mobilne Rozwiązania dla biznesu Mobilne Rozwiązania dla biznesu SPECYFIKACJA TECHNICZNA WEB API-USSD GATESMS.EU wersja 0.9 Opracował: Gatesms.eu Spis Historia wersji dokumentu...3 Bezpieczeństwo...3 Wymagania ogólne...3 Mechanizm zabezpieczenia

Bardziej szczegółowo

Instrukcja konfiguracji funkcji skanowania

Instrukcja konfiguracji funkcji skanowania Instrukcja konfiguracji funkcji skanowania WorkCentre M123/M128 WorkCentre Pro 123/128 701P42171_PL 2004. Wszystkie prawa zastrzeżone. Rozpowszechnianie bez zezwolenia przedstawionych materiałów i informacji

Bardziej szczegółowo

Technologie sieciowe Sprawozdanie z labolatorium. Lista 5

Technologie sieciowe Sprawozdanie z labolatorium. Lista 5 Politechnika Wrocławska Wydział Podstawowych Problemów Techniki Technologie sieciowe Sprawozdanie z labolatorium Lista 5 Autor: Piotr Kosytorz IIrokInf. indeks: 166174 Prowadzący: dr inż. Łukasz Krzywiecki

Bardziej szczegółowo

Plan wykładu. 1. Protokół FTP. 2. Protokół HTTP, usługi www, model request-response (żądanie-odpowiedź), przekazywanie argumentów, AJAX.

Plan wykładu. 1. Protokół FTP. 2. Protokół HTTP, usługi www, model request-response (żądanie-odpowiedź), przekazywanie argumentów, AJAX. Plan wykładu 1. Protokół FTP. 2. Protokół HTTP, usługi www, model request-response (żądanie-odpowiedź), przekazywanie argumentów, AJAX. 1 Protokół FTP Protokół FTP (File Transfer Protocol) [RFC 959] umożliwia

Bardziej szczegółowo

Tworzenie witryn internetowych PHP/Java. (mgr inż. Marek Downar)

Tworzenie witryn internetowych PHP/Java. (mgr inż. Marek Downar) Tworzenie witryn internetowych PHP/Java (mgr inż. Marek Downar) Rodzaje zawartości Zawartość statyczna Treść statyczna (np. nagłówek, stopka) Layout, pliki multimedialne, obrazki, elementy typograficzne,

Bardziej szczegółowo

Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat protokołu http.

Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat protokołu http. T: Konfiguracja usługi HTTP w systemie Windows. Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat protokołu http. HTTP (ang. Hypertext Transfer Protocol) protokół transferu plików

Bardziej szczegółowo

KLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany

KLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany KLASA UCZEN Napisz deklarację klasy Uczen, w której przechowujemy następujące informacje o uczniu: imię, nazwisko, średnia (pola prywatne), poza tym klasa zawiera metody: konstruktor bezparametrowy (nie

Bardziej szczegółowo

Protokół ARP. dr Zbigniew Lipiński. Instytut Matematyki i Informatyki ul. Oleska 48 50-204 Opole zlipinski@math.uni.opole.pl

Protokół ARP. dr Zbigniew Lipiński. Instytut Matematyki i Informatyki ul. Oleska 48 50-204 Opole zlipinski@math.uni.opole.pl Protokół ARP Aplikacja printarp dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska 48 50-204 Opole zlipinski@math.uni.opole.pl Address Resolution Protocol ARP, (ang.) Address Resolution

Bardziej szczegółowo

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Kierunek: Automatyka i Robotyka Studia stacjonarne I stopnia: rok I, semestr II

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Kierunek: Automatyka i Robotyka Studia stacjonarne I stopnia: rok I, semestr II SIECI KOPMPUTEROWE I TECHNOLOGIE INTERNETOWE (SKiTI) Wykład 10 Protokół HTTP Politechnika Gdańska Wydział Elektrotechniki i Automatyki Kierunek: Automatyka i Robotyka Studia stacjonarne I stopnia: rok

Bardziej szczegółowo

Kurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016

Kurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016 Wykład 1 3 marca 2016 Słowa kluczowe języka Java abstract, break, case, catch, class, const, continue, default, do, else, enum, extends, final, finally, for, goto, if, implements, import, instanceof, interface,

Bardziej szczegółowo

Tomasz Greszata - Koszalin

Tomasz Greszata - Koszalin T: Konfiguracja usługi HTTP w systemie Windows. Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat protokołów HTTP oraz HTTPS i oprogramowania IIS (ang. Internet Information Services).

Bardziej szczegółowo

Dokonaj instalacji IIS opublikuj stronę internetową z pierwszych zajęć. Ukaże się kreator konfigurowania serwera i klikamy przycisk Dalej-->.

Dokonaj instalacji IIS opublikuj stronę internetową z pierwszych zajęć. Ukaże się kreator konfigurowania serwera i klikamy przycisk Dalej-->. Dokonaj instalacji IIS opublikuj stronę internetową z pierwszych zajęć Ukaże się kreator konfigurowania serwera i klikamy przycisk Dalej-->. Następnie wybieramy Serwer aplikacji (IIS, ASP.NET) i klikamy

Bardziej szczegółowo

Sprawozdanie nr 4. Ewa Wojtanowska

Sprawozdanie nr 4. Ewa Wojtanowska Sprawozdanie nr 4 Ewa Wojtanowska Zad.1 Korzystając z zasobów internetu zapoznałam się z dokumentami: RFC 1945 i RFC 2616. Zad.2 Badanie działania protokołu http Zad.3 Zad.4 URL (ang. Uniform Resource

Bardziej szczegółowo

Języki programowania wysokiego poziomu WWW

Języki programowania wysokiego poziomu WWW Języki programowania wysokiego poziomu WWW Zawartość Protokół HTTP Języki HTML i XHTML Struktura dokumentu html: DTD i rodzaje html; xhtml Nagłówek html - kodowanie znaków, język Ciało html Sposób formatowania

Bardziej szczegółowo

Przykład. Podaj nazwę domenową hosta a odczytaj jego adres IP, lub odwrotnie:

Przykład. Podaj nazwę domenową hosta a odczytaj jego adres IP, lub odwrotnie: Adres internetowy klasa wxipv4address - wymaga #include Najważniejsze metody: bool Hostname(const wxstring& hostname) ustawia nazwę domenową hosta lub adres IP w notacji kropki: a.b.c.d bool

Bardziej szczegółowo

Język ludzki kod maszynowy

Język ludzki kod maszynowy Język ludzki kod maszynowy poziom wysoki Język ludzki (mowa) Język programowania wysokiego poziomu Jeśli liczba punktów jest większa niż 50, test zostaje zaliczony; w przeciwnym razie testu nie zalicza

Bardziej szczegółowo

4 Web Forms i ASP.NET...149 Web Forms...150 Programowanie Web Forms...150 Możliwości Web Forms...151 Przetwarzanie Web Forms...152

4 Web Forms i ASP.NET...149 Web Forms...150 Programowanie Web Forms...150 Możliwości Web Forms...151 Przetwarzanie Web Forms...152 Wstęp...xv 1 Rozpoczynamy...1 Co to jest ASP.NET?...3 W jaki sposób ASP.NET pasuje do.net Framework...4 Co to jest.net Framework?...4 Czym są Active Server Pages (ASP)?...5 Ustawienia dla ASP.NET...7 Systemy

Bardziej szczegółowo

Pracownia internetowa w każdej szkole (edycja Jesień 2007)

Pracownia internetowa w każdej szkole (edycja Jesień 2007) Instrukcja numer D2/06_06/Z1 Pracownia internetowa w każdej szkole (edycja Jesień 2007) Wstęp Opiekun pracowni internetowej cz. 2 (D2) Definiowanie dostępu do szkolnej strony poprzez jej publiczną nazwę

Bardziej szczegółowo

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Internetowe Usługi Informacyjne

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Internetowe Usługi Informacyjne Jarosław Kuchta Internetowe Usługi Informacyjne Komponenty IIS HTTP.SYS serwer HTTP zarządzanie połączeniami TCP/IP buforowanie odpowiedzi obsługa QoS (Quality of Service) obsługa plików dziennika IIS

Bardziej szczegółowo

Informatyka I. Standard JDBC Programowanie aplikacji bazodanowych w języku Java

Informatyka I. Standard JDBC Programowanie aplikacji bazodanowych w języku Java Informatyka I Standard JDBC Programowanie aplikacji bazodanowych w języku Java dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2017 Standard JDBC Java DataBase Connectivity uniwersalny

Bardziej szczegółowo

Pobieranie argumentów wiersza polecenia

Pobieranie argumentów wiersza polecenia Pobieranie argumentów wiersza polecenia 2. Argumenty wiersza polecenia Lista argumentów Lista argumentów zawiera cały wiersz poleceń, łącznie z nazwą programu i wszystkimi dostarczonymi argumentami. Przykłady:

Bardziej szczegółowo

Sieci komputerowe i bazy danych

Sieci komputerowe i bazy danych Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie Sieci komputerowe i bazy danych Sprawozdanie 5 Badanie protokołów pocztowych Szymon Dziewic Inżynieria Mechatroniczna Rok: III Grupa: L1 Zajęcia

Bardziej szczegółowo

Programowanie w Sieci Internet Blok 2 - PHP. Kraków, 09 listopada 2012 mgr Piotr Rytko Wydział Matematyki i Informatyki

Programowanie w Sieci Internet Blok 2 - PHP. Kraków, 09 listopada 2012 mgr Piotr Rytko Wydział Matematyki i Informatyki Programowanie w Sieci Internet Blok 2 - PHP Kraków, 09 listopada 2012 mgr Piotr Rytko Wydział Matematyki i Informatyki Co dziś będziemy robić Podstawy podstaw, czyli małe wprowadzenie do PHP, Podstawy

Bardziej szczegółowo

Kontrola sesji w PHP HTTP jest protokołem bezstanowym (ang. stateless) nie utrzymuje stanu między dwoma transakcjami. Kontrola sesji służy do

Kontrola sesji w PHP HTTP jest protokołem bezstanowym (ang. stateless) nie utrzymuje stanu między dwoma transakcjami. Kontrola sesji służy do Sesje i ciasteczka Kontrola sesji w PHP HTTP jest protokołem bezstanowym (ang. stateless) nie utrzymuje stanu między dwoma transakcjami. Kontrola sesji służy do śledzenia użytkownika podczas jednej sesji

Bardziej szczegółowo

Instrukcja obsługi serwera FTP v.28.12.2010

Instrukcja obsługi serwera FTP v.28.12.2010 Instrukcja obsługi serwera FTP v.28.12.2010 1. Dostęp klienta do konta FTP 1.1. Wprowadzić do przeglądarki adres ftp://87.204.185.42 lub alternatywny adres IP ftp://82.11.1160.114 1.2. Wprowadzić nazwę

Bardziej szczegółowo

Gniazda BSD implementacja w C#

Gniazda BSD implementacja w C# BSD implementacja w C# Implementacja w C#: Przestrzeń nazw: System.Net.Sockets Klasa: public class Socket : IDisposable Implementacja w C#: Konstruktor: public Socket( AddressFamily addressfamily, SocketType

Bardziej szczegółowo

Pliki w C/C++ Przykłady na podstawie materiałów dr T. Jeleniewskiego

Pliki w C/C++ Przykłady na podstawie materiałów dr T. Jeleniewskiego Pliki w C/C++ Przykłady na podstawie materiałów dr T. Jeleniewskiego 1 /24 Pisanie pojedynczych znaków z klawiatury do pliku #include void main(void) { FILE *fptr; // wkaznik do pliku, tzw. uchwyt

Bardziej szczegółowo

Programowanie w językach

Programowanie w językach Programowanie w językach wysokiego poziomu Obsługa plików za pomocą strumieni Elektronika i Telekomunikacja, semestr III rok akademicki 2013/2014 dr inż. Paweł Myszkowski Plan zajęć a) otwieranie i zamykanie

Bardziej szczegółowo

JĘZYK PYTHON - NARZĘDZIE DLA KAŻDEGO NAUKOWCA. Marcin Lewandowski [ mlew@ippt.gov.pl ]

JĘZYK PYTHON - NARZĘDZIE DLA KAŻDEGO NAUKOWCA. Marcin Lewandowski [ mlew@ippt.gov.pl ] JĘZYK PYTHON - NARZĘDZIE DLA KAŻDEGO NAUKOWCA Marcin Lewandowski [ mlew@ippt.gov.pl ] PROGRAMOWANIE SIECIOWE 2 TCP/IP = UDP + TCP TCP/IP składa się z dwóch podstawowych protokołów: TCP i UDP. TCP jest

Bardziej szczegółowo

Programowanie Komputerów

Programowanie Komputerów Programowanie Komputerów Łukasz Kuszner pokój 209, WETI http://www.kaims.pl/ kuszner/ kuszner@eti.pg.gda.pl Wykład 30 godzin, Laboratoria 30 godzin 2012/ Strona 1 z 28 1. Tablice w C# Indeksowane od zera

Bardziej szczegółowo

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki int getmax (int a, int b) { return (a > b? a : b); float getmax (float a, float b) { return (a > b? a : b); long getmax (long a, long b)

Bardziej szczegółowo

Laboratorium - Używanie programu Wireshark do obserwacji mechanizmu uzgodnienia trójetapowego TCP

Laboratorium - Używanie programu Wireshark do obserwacji mechanizmu uzgodnienia trójetapowego TCP Laboratorium - Używanie programu Wireshark do obserwacji mechanizmu uzgodnienia trójetapowego Topologia Cele Część 1: Przygotowanie Wireshark do przechwytywania pakietów Wybór odpowiedniego interfejsu

Bardziej szczegółowo

Iteracyjny serwer TCP i aplikacja UDP

Iteracyjny serwer TCP i aplikacja UDP Iteracyjny serwer TCP i aplikacja UDP Iteracyjny serwer TCP Funkcje wywoływane przez serwer TCP socket() - bind() - listen() - accept() - read() / write() - close() socket() Creates an endpoint for communication

Bardziej szczegółowo

Programowanie. Ćwiczenie Język C. Środowisko programowania Visual Studio

Programowanie. Ćwiczenie Język C. Środowisko programowania Visual Studio Programowanie Ćwiczenie Język C. Środowisko programowania Visual Studio Tematy ćwiczenia praca ze środowiskiem, tworzenie i uruchomienie programu, struktura programu, deklaracje i definicje typy standardowe,

Bardziej szczegółowo

3. Identyfikacja. SKŁADNIA #include <sys/socket.h> int getpeername(int socket, struct sockaddr *addr, int *addrlen);

3. Identyfikacja. SKŁADNIA #include <sys/socket.h> int getpeername(int socket, struct sockaddr *addr, int *addrlen); 3.1. Określanie adresu połączonego hosta 3. #include int getpeername(int socket, struct sockaddr *addr, int *addrlen); Funkcja getpeername dostarcza adresu drugiej strony połączenia. Parametry:

Bardziej szczegółowo

Obiekty w plikach wykonywalnych, marshaling

Obiekty w plikach wykonywalnych, marshaling Obiekty w plikach wykonywalnych, marshaling Komponent w pliku exe Odczyt IClassFactory komponencie umieszczonym w pliku dll ładowanym w przestrzeń adresową klienta następuje poprzez wywołanie eksportowanej

Bardziej szczegółowo

Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone

Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone Typy przetwarzania Przetwarzanie zcentralizowane Systemy typu mainfame Przetwarzanie rozproszone Architektura klient serwer Architektura jednowarstwowa Architektura dwuwarstwowa Architektura trójwarstwowa

Bardziej szczegółowo

OSI Transport Layer. Network Fundamentals Chapter 4. Version Cisco Systems, Inc. All rights reserved. Cisco Public 1

OSI Transport Layer. Network Fundamentals Chapter 4. Version Cisco Systems, Inc. All rights reserved. Cisco Public 1 OSI Transport Layer Network Fundamentals Chapter 4 Version 4.0 1 OSI Transport Layer Network Fundamentals Rozdział 4 Version 4.0 2 Objectives Explain the role of Transport Layer protocols and services

Bardziej szczegółowo

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych Szkolenie przeznaczone jest dla osób chcących poszerzyć swoje umiejętności o tworzenie rozwiązań internetowych w PHP. Zajęcia zostały przygotowane w taki sposób, aby po ich ukończeniu można było rozpocząć

Bardziej szczegółowo

Serwer SSH. Wprowadzenie do serwera SSH Instalacja i konfiguracja Zarządzanie kluczami

Serwer SSH. Wprowadzenie do serwera SSH Instalacja i konfiguracja Zarządzanie kluczami Serwer SSH Serwer SSH Wprowadzenie do serwera SSH Instalacja i konfiguracja Zarządzanie kluczami Serwer SSH - Wprowadzenie do serwera SSH Praca na odległość potrzeby w zakresie bezpieczeństwa Identyfikacja

Bardziej szczegółowo

Wykład 3 Inżynieria oprogramowania. Przykład 1 Bezpieczeństwo(2) wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz

Wykład 3 Inżynieria oprogramowania. Przykład 1 Bezpieczeństwo(2) wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz Wykład 3 Inżynieria oprogramowania Przykład 1 Bezpieczeństwo(2) wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz Struktura wykładu 1. Utworzenie użytkowników i ról na serwerze aplikacji Sun Java System

Bardziej szczegółowo

// Potrzebne do memset oraz memcpy, czyli kopiowania bloków

// Potrzebne do memset oraz memcpy, czyli kopiowania bloków ZAWARTOŚCI 3 PLIKOW W WORDZIE: MAIN.CPP: #include #include #include pamięci // Potrzebne do memset oraz memcpy, czyli kopiowania bloków #include "Rysowanie_BMP.h" using

Bardziej szczegółowo

Instalacja Moodle na serwerze SBS2000/2003. Opiekun pracowni internetowej SBS

Instalacja Moodle na serwerze SBS2000/2003. Opiekun pracowni internetowej SBS Instrukcja numer 01 Instalacja Moodle na serwerze SBS2000/2003 Opiekun pracowni internetowej SBS Instalacja serwera APACHE na serwerze SBS 2000/SBS2003 Zadanie 1 Instalacja serwera Apache na serwerze SBS2003

Bardziej szczegółowo

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Dostęp zdalny

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Dostęp zdalny Jarosław Kuchta Dostęp zdalny Zagadnienia Infrastruktura VPN Protokoły VPN Scenariusz zastosowania wirtualnej sieci prywatnej Menedżer połączeń Dostęp zdalny 2 Infrastruktura VPN w WS 2008 Klient VPN Windows

Bardziej szczegółowo

Usługi WWW. dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska 48 50-204 Opole zlipinski@math.uni.opole.pl

Usługi WWW. dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska 48 50-204 Opole zlipinski@math.uni.opole.pl Budowa aplikacji sieciowych. Usługi WWW dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska 48 50-204 Opole zlipinski@math.uni.opole.pl Usługi WWW W3C Working Group, Web Services Architecture,

Bardziej szczegółowo

Wprowadzenie do programowania i programowanie obiektowe

Wprowadzenie do programowania i programowanie obiektowe Wprowadzenie do programowania i programowanie obiektowe Wirtotechnologia Zajęcia nr 10 autor: Grzegorz Smyk Wydział Odlewnictwa Wydział Inżynierii Metali i Informatyki Przemysłowej Akademia Górniczo Hutnicza

Bardziej szczegółowo

Wykład 4 Delegat (delegate), właściwości indeksowane, zdarzenie (event) Zofia Kruczkiewicz

Wykład 4 Delegat (delegate), właściwości indeksowane, zdarzenie (event) Zofia Kruczkiewicz Wykład 4 Delegat (delegate), właściwości indeksowane, zdarzenie (event) Zofia Kruczkiewicz Zagadnienia 1. Delegaty wiązane, właściwości indeksowane 2. Delegaty niewiązane 3. Nowa wersja kalkulatora, delegaty

Bardziej szczegółowo

Informatyka I. Programowanie aplikacji bazodanowych w języku Java. Standard JDBC.

Informatyka I. Programowanie aplikacji bazodanowych w języku Java. Standard JDBC. Informatyka I Programowanie aplikacji bazodanowych w języku Java. Standard JDBC. dr hab. inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2019 Standard JDBC Java DataBase Connectivity

Bardziej szczegółowo

Podstawy informatyki. Informatyka stosowana - studia niestacjonarne. Grzegorz Smyk. Wydział Inżynierii Metali i Informatyki Przemysłowej

Podstawy informatyki. Informatyka stosowana - studia niestacjonarne. Grzegorz Smyk. Wydział Inżynierii Metali i Informatyki Przemysłowej Podstawy informatyki Informatyka stosowana - studia niestacjonarne Grzegorz Smyk Wydział Inżynierii Metali i Informatyki Przemysłowej Akademia Górniczo Hutnicza im. Stanisława Staszica w Krakowie, rok

Bardziej szczegółowo

Programy typu klient serwer. Programowanie w środowisku rozproszonym. Wykład 5.

Programy typu klient serwer. Programowanie w środowisku rozproszonym. Wykład 5. Programy typu klient serwer. Programowanie w środowisku rozproszonym. Wykład 5. Schemat Internetu R R R R R R R 2 Model Internetu 3 Protokoły komunikacyjne stosowane w sieci Internet Protokoły warstwy

Bardziej szczegółowo

Projektowanie klas c.d. Projektowanie klas przykład

Projektowanie klas c.d. Projektowanie klas przykład Projektowanie klas c.d. ogólne wskazówki dotyczące projektowania klas: o wyodrębnienie klasy odpowiedź na potrzeby życia (obsługa rozwiązania konkretnego problemu) o zwykle nie uda się utworzyć idealnej

Bardziej szczegółowo

Instytut Teleinformatyki

Instytut Teleinformatyki Instytut Teleinformatyki Wydział Inżynierii Elektrycznej i Komputerowej Politechnika Krakowska programowanie usług sieciowych Dziedzina Unix laboratorium: 06 Kraków, 2014 06. Programowanie Usług Sieciowych

Bardziej szczegółowo

Bazy Danych i Usługi Sieciowe

Bazy Danych i Usługi Sieciowe Bazy Danych i Usługi Sieciowe Język PHP Paweł Witkowski Wydział Matematyki, Informatyki i Mechaniki Jesień 2011 P. Witkowski (Wydział Matematyki, Informatyki i Mechaniki) BDiUS w. VIII Jesień 2011 1 /

Bardziej szczegółowo

156.17.4.13. Adres IP

156.17.4.13. Adres IP Adres IP 156.17.4.13. Adres komputera w sieci Internet. Każdy komputer przyłączony do sieci ma inny adres IP. Adres ten jest liczbą, która w postaci binarnej zajmuje 4 bajty, czyli 32 bity. W postaci dziesiętnej

Bardziej szczegółowo

Sieci komputerowe Warstwa aplikacji

Sieci komputerowe Warstwa aplikacji Sieci komputerowe Warstwa aplikacji 2012-05-24 Sieci komputerowe Warstwa aplikacji dr inż. Maciej Piechowiak 1 Wprowadzenie warstwa zapewniająca interfejs pomiędzy aplikacjami używanymi do komunikacji,

Bardziej szczegółowo

Kurs programowania. Wykład 3. Wojciech Macyna. 22 marca 2019

Kurs programowania. Wykład 3. Wojciech Macyna. 22 marca 2019 Wykład 3 22 marca 2019 Klasy wewnętrzne Klasa wewnętrzna class A {... class B {... }... } Klasa B jest klasa wewnętrzna w klasie A. Klasa A jest klasa otaczajac a klasy B. Klasy wewnętrzne Właściwości

Bardziej szczegółowo

PROFESJONALNE SYSTEMY BEZPIECZEŃSTWA

PROFESJONALNE SYSTEMY BEZPIECZEŃSTWA PROFESJONALNE SYSTEMY BEZPIECZEŃSTWA Uwierzytelnianie i kontrola dostępu użytkowników na podstawie parametrów Active Directory z wykorzystaniem ConSentry LANShield Controller Role Derivation Podczas pasywnego

Bardziej szczegółowo

Systemy internetowe. Wykład 3 PHP. West Pomeranian University of Technology, Szczecin; Faculty of Computer Science

Systemy internetowe. Wykład 3 PHP. West Pomeranian University of Technology, Szczecin; Faculty of Computer Science Systemy internetowe Wykład 3 PHP PHP - cechy PHP (Hypertext Preprocessor) bardzo łatwy do opanowania, prosta składnia, obsługuje wymianę danych z różnymi systemami baz danych pozwala na dynamiczne generowanie

Bardziej szczegółowo

Instrukcja obsługi User s manual

Instrukcja obsługi User s manual Instrukcja obsługi User s manual Konfigurator Lanberg Lanberg Configurator E-mail: support@lanberg.pl support@lanberg.eu www.lanberg.pl www.lanberg.eu Lanberg 2015-2018 WERSJA VERSION: 2018/11 Instrukcja

Bardziej szczegółowo

FTP File Transfer Protocol

FTP File Transfer Protocol FTP File Transfer Protocol Protokół pozwalający na transfer plików pomiędzy hostami w sieci TCP/IP. Protokół warstwy aplikacyjnej. Opiera się w warstwie transportowej na sesji TCP zapewnia kontrolę poprawności

Bardziej szczegółowo

Protokoły sieciowe - TCP/IP

Protokoły sieciowe - TCP/IP Protokoły sieciowe Protokoły sieciowe - TCP/IP TCP/IP TCP/IP (Transmission Control Protocol / Internet Protocol) działa na sprzęcie rożnych producentów może współpracować z rożnymi protokołami warstwy

Bardziej szczegółowo

Tunelowanie, kapsułkowanie, XDR. 1. Transmisja tunelowa i kapsułkowanie serwery proxy. 2. Zewnętrzna reprezentacja danych XDR.

Tunelowanie, kapsułkowanie, XDR. 1. Transmisja tunelowa i kapsułkowanie serwery proxy. 2. Zewnętrzna reprezentacja danych XDR. Tunelowanie, kapsułkowanie, XDR 1. Transmisja tunelowa i kapsułkowanie serwery proxy. 2. Zewnętrzna reprezentacja danych XDR. 1 Transmisja tunelowa i kapsułkowanie Sieci komputerowe rozwijały się stopniowo

Bardziej szczegółowo

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ), PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ), Program 351203 Opracowanie: Grzegorz Majda Tematyka zajęć 2. Przygotowanie środowiska pracy

Bardziej szczegółowo

mgr inż. Michał Paluch

mgr inż. Michał Paluch Komunikacja w Internecie Użytkownik klika w odpowiednie łącze. Przeglądarka formatuje żądanie i wysyła Serwer odnajduje zasób, formatuje odpowiedź i przesyła do przeglądarki. Protokół HTTP Zadania klienta

Bardziej szczegółowo

Wykład II. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

Wykład II. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej Wykład II - semestr II Kierunek Informatyka Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2015 c Copyright 2015 Janusz Słupik Operacje dyskowe - zapis do pliku #include #include

Bardziej szczegółowo

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE. Tryb konsolowy ćwiczenie b

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE. Tryb konsolowy ćwiczenie b Systemy operacyjne i sieci komputerowe. Ćwiczenie 2. 1 SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE Tryb konsolowy ćwiczenie 2 012b Źródło: http://www.microsoft.com/technet/prodtechnol/windowsserver2003/pl/library/serv

Bardziej szczegółowo

RPC. Zdalne wywoływanie procedur (ang. Remote Procedure Calls )

RPC. Zdalne wywoływanie procedur (ang. Remote Procedure Calls ) III RPC Zdalne wywoływanie procedur (ang. Remote Procedure Calls ) 1. Koncepcja Aplikacja wywołanie procedury parametry wyniki wykonanie procedury wynik komputer klienta komputer serwera Zaletą takiego

Bardziej szczegółowo

Referat z przedmiotu Technologie Internetowe SPIS TREŚCI

Referat z przedmiotu Technologie Internetowe SPIS TREŚCI SPIS TREŚCI 1.Dwie metody przekazu danych do serwera 2 2.Metoda GET przykład 3 3.Metoda POST przykład 4 4.Kiedy GET a kiedy POST 5 5.Szablony po co je stosować 7 6.Realizacja szablonu własną funkcją 8

Bardziej szczegółowo

Część 4 życie programu

Część 4 życie programu 1. Struktura programu c++ Ogólna struktura programu w C++ składa się z kilku części: część 1 część 2 część 3 część 4 #include int main(int argc, char *argv[]) /* instrukcje funkcji main */ Część

Bardziej szczegółowo

Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat protokołu ftp.

Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat protokołu ftp. T: Konfiguracja usługi ftp w systemie Windows 8.1. Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat protokołu ftp. FTP (ang. File Transfer Protocol) protokół transferu plików umożliwiający

Bardziej szczegółowo

Obsługa plików. Systemy Operacyjne 2 laboratorium. Mateusz Hołenko. 25 września 2011

Obsługa plików. Systemy Operacyjne 2 laboratorium. Mateusz Hołenko. 25 września 2011 Obsługa plików Systemy Operacyjne 2 laboratorium Mateusz Hołenko 25 września 2011 Plan zajęć 1 Pliki w systemie Linux i-węzły deskryptory plików 2 Operacje na plikach otwieranie i zamykanie zapis i odczyt

Bardziej szczegółowo

pawel.rajba@gmail.com, http://itcourses.eu/ Adresy zasobów Rodzaje zawartości Negocjacja treści Komunikacja Buforowanie HTTP Request/Response Nagłówki Bezstanowość Cookies Narzędzia URL, http://www.ietf.org/rfc/rfc3986.txt

Bardziej szczegółowo

Ćwiczenia laboratoryjne. Oprogramowanie i badanie prostych metod sortowania w tablicach

Ćwiczenia laboratoryjne. Oprogramowanie i badanie prostych metod sortowania w tablicach Ćwiczenia laboratoryjne Oprogramowanie i badanie prostych metod sortowania w tablicach Sprawozdanie Na każdym zajęciu laboratoryjnym sporządza się za pomocą edytora Word sprawozdanie. Bazowa zawartość

Bardziej szczegółowo

Programowanie 2. Język C++. Wykład 1.

Programowanie 2. Język C++. Wykład 1. 1.1 Wstęp... 1 1.2 Obiekty stałe... 3 1.3 Obiekty statyczne... 4 1.4 Wskaźniki... 5 1.5 Referencje... 8 1.6 Wskaźniki do wskaźników... 11 1.7 Definiowanie własnych typów danych, polecenie typedef... 17

Bardziej szczegółowo

Sieci komputerowe. Wykład dr inż. Łukasz Graczykowski

Sieci komputerowe. Wykład dr inż. Łukasz Graczykowski Sieci komputerowe Wykład 6 10.04.2019 dr inż. Łukasz Graczykowski lukasz.graczykowski@pw.edu.pl Semestr letni 2018/2019 Warstwa aplikacji Usługi sieciowe źródło: Helion Warstwa aplikacji W modelu ISO/OSI

Bardziej szczegółowo

TCP - receive buffer (queue), send buffer (queue)

TCP - receive buffer (queue), send buffer (queue) BSD sockets c.d. TCP - receive buffer (queue), send buffer (queue) Z każdym gniazdem sieciowym są skojarzone: Bufor do odbierania danych (ang. receive buffer) Przychodzące dane są umieszczane w buforze

Bardziej szczegółowo

Zarządzanie sieciami komputerowymi - wprowadzenie

Zarządzanie sieciami komputerowymi - wprowadzenie Zarządzanie sieciami komputerowymi - wprowadzenie Model zarządzania SNMP SNMP standardowy protokół zarządzania w sieci Internet stosowany w dużych sieciach IP (alternatywa logowanie i praca zdalna w każdej

Bardziej szczegółowo