Udostępnij za pośrednictwem


CInternetSession Klasa

Tworzy i inicjuje jedną lub kilka równoczesnych sesji internetowych, a w razie potrzeby opisuje połączenie z serwerem proxy.

Składnia

class CInternetSession : public CObject

Elementy członkowskie

Konstruktory publiczne

Nazwa/nazwisko opis
CInternetSession::CInternetSession CInternetSession Tworzy obiekt.

Metody publiczne

Nazwa/nazwisko opis
CInternetSession::Close Zamyka połączenie internetowe po zakończeniu sesji internetowej.
CInternetSession::EnableStatusCallback Ustanawia procedurę wywołania zwrotnego stanu.
CInternetSession::GetContext Zamyka połączenie internetowe po zakończeniu sesji internetowej.
CInternetSession::GetCookie Zwraca pliki cookie dla określonego adresu URL i wszystkich jego nadrzędnych adresów URL.
CInternetSession::GetCookieLength Pobiera zmienną określającą długość pliku cookie przechowywanego w buforze.
CInternetSession::GetFtpConnection Otwiera sesję FTP z serwerem. Zaloguje się do użytkownika.
CInternetSession::GetGopherConnection Otwiera serwer gopher dla aplikacji, która próbuje otworzyć połączenie.
CInternetSession::GetHttpConnection Otwiera serwer HTTP dla aplikacji, która próbuje otworzyć połączenie.
CInternetSession::OnStatusCallback Aktualizuje stan operacji, gdy jest włączone wywołanie zwrotne stanu.
CInternetSession::OpenURL Analizuje i otwiera adres URL.
CInternetSession::SetCookie Ustawia plik cookie dla określonego adresu URL.
CInternetSession::SetOption Ustawia opcje sesji internetowej.

Operatory publiczne

Nazwa/nazwisko opis
CInternetSession::operator HINTERNET Dojście do bieżącej sesji internetowej.

Uwagi

Jeśli połączenie internetowe musi być utrzymywane przez czas trwania aplikacji, możesz utworzyć składową CInternetSession klasy CWinApp.

Po ustanowieniu sesji internetowej możesz wywołać metodę OpenURL. CInternetSession Następnie analizuje adres URL, wywołując funkcję AfxParseURLglobalną . Niezależnie od typu CInternetSession protokołu, interpretuje adres URL i zarządza nim za Ciebie. Może obsługiwać żądania dotyczące plików lokalnych zidentyfikowanych za pomocą zasobu adresu URL "file://". OpenURL Polecenie zwróci wskaźnik do CStdioFile obiektu, jeśli przekazana nazwa jest plikiem lokalnym.

Jeśli otworzysz adres URL na serwerze internetowym przy użyciu programu OpenURL, możesz odczytać informacje z witryny. Jeśli chcesz wykonać akcje specyficzne dla usługi (na przykład HTTP, FTP lub gopher) na plikach znajdujących się na serwerze, musisz ustanowić odpowiednie połączenie z tym serwerem. Aby otworzyć określony rodzaj połączenia bezpośrednio z określoną usługą, użyj jednej z następujących funkcji składowych:

SetOption Umożliwia ustawienie opcji zapytania sesji, takich jak wartości limitu czasu, liczba ponownych prób itd.

CInternetSession funkcje SetCookieczłonkowskie , GetCookiei GetCookieLength zapewniają środki do zarządzania bazą danych plików cookie Win32, za pomocą których serwery i skrypty utrzymują informacje o stanie stacji roboczej klienta.

Aby uzyskać więcej informacji na temat podstawowych zadań programowania internetowego, zobacz artykuł Internet First Steps: WinInet. Aby uzyskać ogólne informacje na temat używania klas MFC WinInet , zobacz artykuł Programowanie internetowe za pomocą WinInetprogramu .

Uwaga

CInternetSession program zgłosi wyjątek AfxThrowNotSupportedException dla nieobsługiwanych typów usług. Obecnie obsługiwane są tylko następujące typy usług: FTP, HTTP, gopher i plik.

Hierarchia dziedziczenia

CObject
CInternetSession

Wymagania

Nagłówek: afxinet.h

CInternetSession::CInternetSession

Ta funkcja składowa jest wywoływana CInternetSession podczas tworzenia obiektu.

CInternetSession(
    LPCTSTR pstrAgent = NULL,
    DWORD_PTR dwContext = 1,
    DWORD dwAccessType = PRE_CONFIG_INTERNET_ACCESS,
    LPCTSTR pstrProxyName = NULL,
    LPCTSTR pstrProxyBypass = NULL,
    DWORD dwFlags = 0);

Parametry

pstrAgent
Wskaźnik do ciągu, który identyfikuje nazwę aplikacji lub jednostki wywołującej funkcje internetowe (na przykład "Microsoft Internet Browser"). Jeśli pstrAgent to NULL (wartość domyślna), platforma wywołuje funkcję AfxGetAppNameglobalną , która zwraca ciąg zakończony wartością null zawierającą nazwę aplikacji. Niektóre protokoły używają tego ciągu do identyfikowania aplikacji na serwerze.

dwContext
Identyfikator kontekstu operacji. dwContext identyfikuje informacje o stanie operacji zwrócone przez CInternetSession::OnStatusCallbackelement . Wartość domyślna to 1; Można jednak jawnie przypisać określony identyfikator kontekstu dla operacji. Obiekt i wszystkie wykonywane prace zostaną skojarzone z tym identyfikatorem kontekstu.

dwAccessType
Wymagany typ dostępu. Poniżej przedstawiono prawidłowe wartości, z których można podać dokładnie jedną z następujących wartości:

  • INTERNET_OPEN_TYPE_PRECONFIG Połącz się przy użyciu wstępnie skonfigurowanych ustawień w rejestrze. Ten typ dostępu jest ustawiany jako domyślny. Aby nawiązać połączenie za pośrednictwem serwera proxy TIS, ustaw dwAccessType tę wartość, a następnie odpowiednio ustaw rejestr.

  • INTERNET_OPEN_TYPE_DIRECT Połącz się bezpośrednio z Internetem.

  • INTERNET_OPEN_TYPE_PROXY Nawiąż połączenie za pośrednictwem serwera proxy CERN.

Aby uzyskać informacje na temat nawiązywania połączenia z różnymi typami serwerów proxy, zobacz Kroki w typowej aplikacji klienckiej FTP.

pstrProxyName
Nazwa preferowanego serwera proxy CERN, jeśli dwAccessType jest ustawiona jako INTERNET_OPEN_TYPE_PROXY. Wartość domyślna to NULL.

pstrProxyBypass
Wskaźnik do ciągu zawierającego opcjonalną listę adresów serwera. Te adresy mogą zostać pominięte podczas korzystania z dostępu do serwera proxy. Jeśli zostanie podana NULL wartość, lista obejścia będzie odczytywana z rejestru. Ten parametr ma znaczenie tylko wtedy, gdy dwAccessType jest ustawiony na INTERNET_OPEN_TYPE_PROXYwartość .

dwFlags
Wskazuje różne opcje buforowania. Wartość domyślna to 0. Możliwe wartości to:

  • INTERNET_FLAG_DONT_CACHE Nie buforuj danych lokalnie ani na żadnym serwerze bramy.

  • INTERNET_FLAG_OFFLINE Operacje pobierania są zadowalające tylko za pośrednictwem trwałej pamięci podręcznej. Jeśli element nie istnieje w pamięci podręcznej, zwracany jest odpowiedni kod błędu. Ta flaga może być połączona z operatorem bitowym "or" (|).

Uwagi

CInternetSession jest pierwszą funkcją internetową wywoływaną przez aplikację. Inicjuje wewnętrzne struktury danych i przygotowuje się do przyszłych wywołań z aplikacji.

Jeśli nie można otworzyć żadnego połączenia internetowego, CInternetSession zgłasza błąd AfxThrowInternetException.

Przykład

Zobacz przykład dla elementu CFtpFileFind.

CInternetSession::Close

Wywołaj tę funkcję składową, gdy aplikacja zakończyła korzystanie z CInternetSession obiektu .

virtual void Close();

Przykład

Zobacz przykład dla elementu CFtpFileFind.

CInternetSession::EnableStatusCallback

Wywołaj tę funkcję składową, aby włączyć wywołanie zwrotne stanu.

BOOL EnableStatusCallback(BOOL bEnable = TRUE);

Parametry

bEnable
Określa, czy wywołanie zwrotne jest włączone, czy wyłączone. Wartość domyślna to TRUE.

Wartość zwracana

Bezzerowe, jeśli się powiedzie; w przeciwnym razie 0. Jeśli wywołanie nie powiedzie się, określ przyczynę błędu, sprawdzając zgłoszony CInternetException obiekt.

Uwagi

Podczas obsługi wywołania zwrotnego stanu można podać stan postępu operacji (na przykład rozpoznawania nazwy, nawiązywania połączenia z serwerem itd.) na pasku stanu aplikacji. Wyświetlanie stanu operacji jest szczególnie pożądane podczas długotrwałej operacji.

Ponieważ wywołania zwrotne występują podczas przetwarzania żądania, aplikacja powinna poświęcić jak najwięcej czasu w wywołaniu zwrotnym, aby zapobiec pogorszeniu przepływności danych do sieci. Na przykład umieszczenie okna dialogowego w wywołaniu zwrotnym może być tak długotrwałą operacją, że serwer kończy żądanie.

Nie można usunąć wywołania zwrotnego stanu, o ile wszystkie wywołania zwrotne oczekują.

Aby obsługiwać wszystkie operacje asynchronicznie, musisz utworzyć własny wątek lub użyć funkcji WinInet bez MFC.

CInternetSession::GetContext

Wywołaj tę funkcję składową, aby uzyskać wartość kontekstu dla określonej sesji aplikacji.

DWORD_PTR GetContext() const;

Wartość zwracana

Identyfikator kontekstu zdefiniowanego przez aplikację.

Uwagi

OnStatusCallback używa identyfikatora kontekstu zwróconego przez GetContext usługę , aby zgłosić stan określonej aplikacji. Na przykład gdy użytkownik aktywuje żądanie internetowe, które obejmuje zwrócenie informacji o stanie, wywołanie zwrotne stanu używa identyfikatora kontekstu do raportowania stanu dla tego konkretnego żądania. Jeśli użytkownik aktywuje dwa oddzielne żądania internetowe, które obejmują zwracanie informacji o stanie, użyje identyfikatorów kontekstu, OnStatusCallback aby zwrócić stan odpowiadających im żądań. W związku z tym identyfikator kontekstu jest używany dla wszystkich operacji wywołania zwrotnego stanu i jest skojarzony z sesją do momentu zakończenia sesji.

Aby uzyskać więcej informacji na temat operacji asynchronicznych, zobacz artykuł Internet First Steps: WinInet (Pierwsze kroki: WinInet).

CInternetSession::GetCookie

Ta funkcja składowa implementuje zachowanie funkcji InternetGetCookieWin32 zgodnie z opisem w zestawie Windows SDK.

static BOOL GetCookie(
    LPCTSTR pstrUrl,
    LPCTSTR pstrCookieName,
    LPTSTR pstrCookieData,
    DWORD dwBufLen);

static BOOL GetCookie(
    LPCTSTR pstrUrl,
    LPCTSTR pstrCookieName,
    CString& strCookieData);

Parametry

pstrUrl
Wskaźnik do ciągu zawierającego adres URL.

pstrCookieName
Wskaźnik do ciągu zawierającego nazwę pliku cookie do pobrania dla określonego adresu URL.

pstrCookieData
W pierwszym przeciążeniu wskaźnik do ciągu zawierającego adres buforu, który odbiera dane pliku cookie. Ta wartość może mieć wartość NULL. W drugim przeciążeniu odwołanie do CString obiektu w celu odbierania danych plików cookie.

dwBufLen
Zmienna określająca rozmiar buforu pstrCookieData . Jeśli funkcja powiedzie się, bufor odbiera ilość danych skopiowanych do buforu pstrCookieData . Jeśli pstrCookieData parametr ma NULLwartość , otrzymuje wartość określającą rozmiar buforu niezbędnego do skopiowania wszystkich danych pliku cookie.

Wartość zwracana

Zwraca wartość w przypadku powodzenia TRUE lub FALSE w inny sposób. Jeśli wywołanie nie powiedzie się, wywołaj funkcję GetLastError Win32, aby określić przyczynę błędu. Mają zastosowanie następujące wartości błędów:

  • ERROR_NO_MORE_ITEMS Nie ma pliku cookie dla określonego adresu URL i wszystkich jego elementów nadrzędnych.

  • ERROR_INSUFFICIENT_BUFFER Przekazana wartość dwBufLen jest niewystarczająca do skopiowania wszystkich danych plików cookie. Zwracana dwBufLen wartość to rozmiar buforu niezbędnego do pobrania wszystkich danych.

Uwagi

W drugim przeciążeniu MFC pobiera dane plików cookie do dostarczonego CString obiektu.

CInternetSession::GetCookieLength

Wywołaj tę funkcję składową, aby uzyskać długość pliku cookie przechowywanego w buforze.

static DWORD GetCookieLength(
    LPCTSTR pstrUrl,
    LPCTSTR pstrCookieName);

Parametry

pstrUrl
Wskaźnik do ciągu zawierającego adres URL

pstrCookieName
Wskaźnik do ciągu zawierającego nazwę pliku cookie.

Wartość zwracana

DWORD Wartość wskazująca długość pliku cookie przechowywanego w buforze. Zero, jeśli nie ma pliku cookie o nazwie wskazanej przez pstrCookieName .

Uwagi

Ta wartość jest używana przez .GetCookie

CInternetSession::GetFtpConnection

Wywołaj tę funkcję składową, aby nawiązać połączenie FTP i uzyskać wskaźnik do CFtpConnection obiektu.

CFtpConnection* GetFtpConnection(
    LPCTSTR pstrServer,
    LPCTSTR pstrUserName = NULL,
    LPCTSTR pstrPassword = NULL,
    INTERNET_PORT nPort = INTERNET_INVALID_PORT_NUMBER,
    BOOL bPassive = FALSE);

Parametry

pstrServer
Wskaźnik do ciągu zawierającego nazwę serwera FTP.

pstrUserName
Wskaźnik do ciągu zakończonego wartości null, który określa nazwę użytkownika do zalogowania. Jeśli NULLwartość domyślna to anonimowe.

pstrPassword
Wskaźnik do ciągu zakończonego wartością null, który określa hasło używane do logowania. Jeśli zarówno pstrPassword , jak i pstrUserName , NULLdomyślne hasło anonimowe to nazwa e-mail użytkownika. Jeśli pstrPassword parametr to NULL (lub ciąg pusty), ale pstrUserName nie NULL, jest używane puste hasło. W poniższej tabeli opisano zachowanie czterech możliwych ustawień pstrUserName i pstrPassword:

pstrUserName pstrPassword Nazwa użytkownika wysłana do serwera FTP Hasło wysyłane do serwera FTP
NULL lub " " NULL lub " " "anonymous" Nazwa e-mail użytkownika
Ciąg inny niżNULL ciąg NULL lub " " pstrUserName " "
NULL Ciąg inny niżNULL ciąg BŁĄD BŁĄD
Ciąg inny niżNULL ciąg Ciąg inny niżNULL ciąg pstrUserName pstrPassword

nPort
Numer identyfikujący port TCP/IP do użycia na serwerze.

bPassive
Określa tryb pasywny lub aktywny dla tej sesji FTP. Jeśli ustawiono TRUEwartość , ustawia interfejs API dwFlag Win32 na INTERNET_FLAG_PASSIVEwartość .

Wartość zwracana

Wskaźnik do CFtpConnection obiektu. Jeśli wywołanie nie powiedzie się, określ przyczynę błędu, sprawdzając zgłoszony CInternetException obiekt.

Uwagi

GetFtpConnection nawiązuje połączenie z serwerem FTP i tworzy i zwraca wskaźnik do CFTPConnection obiektu. Nie wykonuje żadnej konkretnej operacji na serwerze. Jeśli na przykład zamierzasz odczytywać lub zapisywać w plikach, musisz wykonać te operacje jako oddzielne kroki. Zobacz klasy CFtpConnection i CFtpFileFind informacje na temat wyszukiwania plików, otwierania plików oraz odczytywania lub zapisywania w plikach. Zobacz artykuł Internet Programming with WinInet (Programowanie internetowe za pomocą usługi WinInet ), aby uzyskać instrukcje dotyczące wykonywania typowych zadań połączenia FTP.

Przykład

Zobacz przykład dla elementu CFtpFileFind.

CInternetSession::GetGopherConnection

Wywołaj tę funkcję składową, aby ustanowić nowe połączenie gopher i uzyskać wskaźnik do CGopherConnection obiektu.

CGopherConnection* GetGopherConnection(
    LPCTSTR pstrServer,
    LPCTSTR pstrUserName = NULL,
    LPCTSTR pstrPassword = NULL,
    INTERNET_PORT nPort = INTERNET_INVALID_PORT_NUMBER);

Parametry

pstrServer
Wskaźnik do ciągu zawierającego nazwę serwera gopher.

pstrUserName
Wskaźnik do ciągu zawierającego nazwę użytkownika.

pstrPassword
Wskaźnik do ciągu zawierającego hasło dostępu.

nPort
Numer identyfikujący port TCP/IP do użycia na serwerze.

Wartość zwracana

Wskaźnik do CGopherConnection obiektu. Jeśli wywołanie nie powiedzie się, określ przyczynę błędu, sprawdzając zgłoszony CInternetException obiekt.

Uwagi

GetGopherConnection nawiązuje połączenie z serwerem gopher i tworzy i zwraca wskaźnik do CGopherConnection obiektu. Nie wykonuje żadnej konkretnej operacji na serwerze. Jeśli na przykład zamierzasz odczytywać lub zapisywać dane, musisz wykonać te operacje jako oddzielne kroki. Zobacz klasy CGopherConnection, CGopherFilei, aby CGopherFileFind uzyskać informacje na temat wyszukiwania plików, otwierania plików i odczytywania lub zapisywania w plikach. Aby uzyskać informacje na temat przeglądania witryny FTP, zobacz funkcję OpenURLskładową . Zobacz artykuł Internet Programming with WinInet (Programowanie internetowe za pomocą usługi WinInet ), aby uzyskać instrukcje dotyczące wykonywania typowych zadań połączenia gopher.

CInternetSession::GetHttpConnection

Wywołaj tę funkcję składową, aby ustanowić połączenie HTTP i uzyskać wskaźnik do CHttpConnection obiektu.

CHttpConnection* GetHttpConnection(
    LPCTSTR pstrServer,
    INTERNET_PORT nPort = INTERNET_INVALID_PORT_NUMBER,
    LPCTSTR pstrUserName = NULL,
    LPCTSTR pstrPassword = NULL);

CHttpConnection* GetHttpConnection(
    LPCTSTR pstrServer,
    DWORD dwFlags,
    INTERNET_PORT nPort = INTERNET_INVALID_PORT_NUMBER,
    LPCTSTR pstrUserName = NULL,
    LPCTSTR pstrPassword = NULL);

Parametry

pstrServer
Wskaźnik do ciągu zawierającego nazwę serwera HTTP.

nPort
Numer identyfikujący port TCP/IP do użycia na serwerze.

pstrUserName
Wskaźnik do ciągu zawierającego nazwę użytkownika.

pstrPassword
Wskaźnik do ciągu zawierającego hasło dostępu.

dwflags
Dowolna kombinacja INTERNET_FLAG_* flag. Aby uzyskać opis dwFlags wartości, zobacz tabelę w sekcji CHttpConnection::OpenRequest Uwagi.

Wartość zwracana

Wskaźnik do CHttpConnection obiektu. Jeśli wywołanie nie powiedzie się, określ przyczynę błędu, sprawdzając zgłoszony CInternetException obiekt.

Uwagi

GetHttpConnection nawiązuje połączenie z serwerem HTTP i tworzy i zwraca wskaźnik do CHttpConnection obiektu. Nie wykonuje żadnej konkretnej operacji na serwerze. Jeśli na przykład zamierzasz wykonać zapytanie dotyczące nagłówka HTTP, musisz wykonać tę operację jako oddzielny krok. Zobacz klasy CHttpConnection i CHttpFile informacje o operacjach, które można wykonać przy użyciu połączenia z serwerem HTTP. Aby uzyskać informacje na temat przeglądania witryny HTTP, zobacz funkcję OpenURLskładową . Zobacz artykuł Internet Programming with WinInet (Programowanie internetowe za pomocą usługi WinInet ), aby uzyskać instrukcje dotyczące wykonywania typowych zadań połączenia HTTP.

CInternetSession::OnStatusCallback

Ta funkcja składowa jest wywoływana przez platformę w celu zaktualizowania stanu po włączeniu wywołania zwrotnego stanu i oczekiwaniu na operację.

virtual void OnStatusCallback(
    DWORD_PTR dwContext,
    DWORD dwInternetStatus,
    LPVOID lpvStatusInformation,
    DWORD dwStatusInformationLength);

Parametry

dwContext
Wartość kontekstu dostarczana przez aplikację.

dwInternetStatus
Kod stanu wskazujący, dlaczego jest wykonywane wywołanie zwrotne. Zobacz Uwagi dotyczące tabeli możliwych wartości.

lpvStatusInformation
Wskaźnik do buforu zawierającego informacje istotne dla tego wywołania zwrotnego.

dwStatusInformationLength
Rozmiar lpvStatusInformation.

Uwagi

Aby skorzystać z wywołania zwrotnego stanu, musisz najpierw wywołać EnableStatusCallback wywołanie zwrotne.

Parametr dwInternetStatus wskazuje wykonywaną operację i określa zawartość lpvStatusInformation elementu . dwStatusInformationLength wskazuje długość danych zawartych w pliku lpvStatusInformation. Następujące wartości stanu dla dwInternetStatus elementu są definiowane w następujący sposób:

Wartość Znaczenie
INTERNET_STATUS_RESOLVING_NAME Wyszukując adres IP nazwy zawartej w lpvStatusInformationpliku .
INTERNET_STATUS_NAME_RESOLVED Pomyślnie znaleziono adres IP nazwy zawartej w lpvStatusInformationpliku .
INTERNET_STATUS_CONNECTING_TO_SERVER Nawiązywanie połączenia z adresem gniazda (SOCKADDR) wskazywane przez lpvStatusInformation.
INTERNET_STATUS_CONNECTED_TO_SERVER Pomyślnie nawiązano połączenie z adresem gniazda (SOCKADDR) wskazywanym przez lpvStatusInformation.
INTERNET_STATUS_SENDING_REQUEST Wysyłanie żądania informacji do serwera. Parametr lpvStatusInformation to NULL.
INTERNET_STATUS_REQUEST_SENT Pomyślnie wysłano żądanie informacji do serwera. Parametr lpvStatusInformation to NULL.
INTERNET_STATUS_RECEIVING_RESPONSE Oczekiwanie na odpowiedź serwera na żądanie. Parametr lpvStatusInformation to NULL.
INTERNET_STATUS_RESPONSE_RECEIVED Pomyślnie odebrano odpowiedź z serwera. Parametr lpvStatusInformation to NULL.
INTERNET_STATUS_CLOSING_CONNECTION Zamykanie połączenia z serwerem. Parametr lpvStatusInformation to NULL.
INTERNET_STATUS_CONNECTION_CLOSED Pomyślnie zamknięto połączenie z serwerem. Parametr lpvStatusInformation to NULL.
INTERNET_STATUS_HANDLE_CREATED Funkcja interfejsu API InternetConnect Win32 służy do wskazywania, że utworzyła nowy uchwyt. Dzięki temu aplikacja wywołuje funkcję InternetCloseHandle Win32 z innego wątku, jeśli połączenie trwa zbyt długo. Aby uzyskać więcej informacji na temat tych funkcji, zobacz Zestaw SDK systemu Windows.
INTERNET_STATUS_HANDLE_CLOSING Pomyślnie zakończono tę wartość dojścia.

Zastąpi tę funkcję składową, aby wymagać pewnej akcji przed wykonaniem procedury wywołania zwrotnego stanu.

Uwaga

Wywołania zwrotne stanu wymagają ochrony stanu wątku. Jeśli używasz MFC w bibliotece udostępnionej, dodaj następujący wiersz na początku przesłonięcia:

AFX_MANAGE_STATE(AfxGetAppModuleState());

Aby uzyskać więcej informacji na temat operacji asynchronicznych, zobacz artykuł Internet First Steps: WinInet (Pierwsze kroki: WinInet).

CInternetSession::OpenURL

Wywołaj tę funkcję składową, aby wysłać określone żądanie do serwera HTTP i zezwolić klientowi na określenie dodatkowych nagłówków RFC822, MIME lub HTTP do wysłania wraz z żądaniem.

CStdioFile* OpenURL(
    LPCTSTR pstrURL,
    DWORD_PTR dwContext = 1,
    DWORD dwFlags = INTERNET_FLAG_TRANSFER_ASCII,
    LPCTSTR pstrHeaders = NULL,
    DWORD dwHeadersLength = 0);

Parametry

pstrURL
Wskaźnik do nazwy adresu URL, aby rozpocząć odczytywanie. Obsługiwane są tylko adresy URL rozpoczynające się od file:, ftp:, gopher:lub http: . Asercyjnie, jeśli pstrURL ma wartość NULL.

dwContext
Wartość zdefiniowana przez aplikację przekazana z zwróconym dojściem w wywołaniu zwrotnym.

dwFlags
Flagi opisujące sposób obsługi tego połączenia. Zobacz Uwagi, aby uzyskać więcej informacji na temat prawidłowych flag. Prawidłowe flagi to:

  • INTERNET_FLAG_TRANSFER_ASCII Wartość domyślna. Przenieś plik jako tekst ASCII.

  • INTERNET_FLAG_TRANSFER_BINARY Przenieś plik jako plik binarny.

  • INTERNET_FLAG_RELOAD Pobierz dane z przewodu, nawet jeśli są lokalnie buforowane.

  • INTERNET_FLAG_DONT_CACHE Nie buforuj danych lokalnie ani w żadnych bramach.

  • INTERNET_FLAG_SECURE Ta flaga ma zastosowanie tylko do żądań HTTP. Żąda bezpiecznych transakcji na przewodach za pomocą protokołu Secure Sockets Layer lub PCT.

  • INTERNET_OPEN_FLAG_USE_EXISTING_CONNECT Jeśli to możliwe, użyj ponownie istniejących połączeń z serwerem dla nowych żądań generowanych przez OpenUrl zamiast tworzyć nową sesję dla każdego żądania połączenia.

  • INTERNET_FLAG_PASSIVE Służy do obsługi witryny FTP. Używa pasywnej semantyki FTP. Używany z wartością CInternetConnection OpenURL.

pstrHeaders
Wskaźnik do ciągu zawierającego nagłówki, które mają być wysyłane do serwera HTTP.

dwHeadersLength
Długość dodatkowych nagłówków w postaci znaków. Jeśli tak -1L jest i pstrHeaders nie jestNULL, przyjmuje się, pstrHeaders że ma wartość zero zakończonych, a długość jest obliczana.

Wartość zwracana

Zwraca dojście do plików tylko dla usług internetowych FTP, GOPHER, HTTP i FILE. Zwraca wartość NULL , jeśli analizowanie nie powiodło się.

Wskaźnik, który OpenURL zwraca, pstrURLzależy od typu usługi. W poniższej tabeli przedstawiono możliwe wskaźniki OpenURL , które mogą zwracać.

Typ adresu URL Zwraca
file:// CStdioFile*
http:// CHttpFile*
gopher:// CGopherFile*
ftp:// CInternetFile*

Uwagi

Parametr dwFlags musi zawierać wartość INTERNET_FLAG_TRANSFER_ASCII lub INTERNET_FLAG_TRANSFER_BINARY, ale nie oba. Pozostałe flagi można połączyć z operatorem bitowym "or" (|).

OpenURL, który opakowuje funkcję InternetOpenURLWin32 , umożliwia pobieranie, pobieranie i odczytywanie danych z serwera internetowego. OpenURL program nie zezwala na manipulowanie plikami w lokalizacji zdalnej, dlatego nie CInternetConnection wymaga żadnego obiektu.

Aby użyć funkcji specyficznych dla połączenia (czyli specyficznych dla protokołu), takich jak zapisywanie w pliku, należy otworzyć sesję, a następnie otworzyć określony rodzaj połączenia, a następnie użyć tego połączenia, aby otworzyć plik w żądanym trybie. Zobacz CInternetConnection , aby uzyskać więcej informacji na temat funkcji specyficznych dla połączenia.

CInternetSession::operator HINTERNET

Użyj tego operatora, aby uzyskać dojście systemu Windows dla bieżącej sesji internetowej.

operator HINTERNET() const;

CInternetSession::SetCookie

Ustawia plik cookie dla określonego adresu URL.

static BOOL SetCookie(
    LPCTSTR pstrUrl,
    LPCTSTR pstrCookieName,
    LPCTSTR pstrCookieData);

Parametry

pstrUrl
Wskaźnik do ciągu zakończonego wartością null, który określa adres URL, dla którego ma zostać ustawiony plik cookie.

pstrCookieName
Wskaźnik do ciągu zawierającego nazwę pliku cookie.

pstrCookieData
Wskaźnik do ciągu zawierającego rzeczywiste dane ciągu do skojarzenia z adresem URL.

Wartość zwracana

Zwraca wartość w przypadku powodzenia TRUE lub FALSE w inny sposób. Aby uzyskać określony kod błędu, wywołaj metodę GetLastError.

Uwagi

Ta funkcja składowa implementuje zachowanie komunikatu InternetSetCookieWin32 zgodnie z opisem w zestawie WINDOWS SDK.

CInternetSession::SetOption

Wywołaj tę funkcję składową, aby ustawić opcje sesji internetowej.

BOOL SetOption(
    DWORD dwOption,
    LPVOID lpBuffer,
    DWORD dwBufferLength,
    DWORD dwFlags = 0);

BOOL SetOption(
    DWORD dwOption,
    DWORD dwValue,
    DWORD dwFlags = 0);

Parametry

dwOption
Opcja Internet do ustawienia. Aby uzyskać listę możliwych opcji, zobacz Flagi opcji w zestawie Windows SDK.

lpBuffer
Bufor zawierający ustawienie opcji.

dwBufferLength
Długość lpBuffer lub rozmiar dwValue.

dwValue
Element DWORD zawierający ustawienie opcji.

dwFlags
Wskazuje różne opcje buforowania. Wartość domyślna to 0. Możliwe wartości to:

  • INTERNET_FLAG_DONT_CACHE Nie buforuj danych lokalnie ani na żadnym serwerze bramy.

  • INTERNET_FLAG_OFFLINE Operacje pobierania są zadowalające tylko za pośrednictwem trwałej pamięci podręcznej. Jeśli element nie istnieje w pamięci podręcznej, zwracany jest odpowiedni kod błędu. Ta flaga może być połączona z operatorem bitowym "or" (|).

Wartość zwracana

Jeśli operacja zakończyła się pomyślnie, zwracana jest wartość TRUE . Jeśli wystąpił błąd, zwracana jest wartość FALSE . Jeśli wywołanie zakończy się niepowodzeniem, funkcja GetLastError Win32 może zostać wywołana, aby określić przyczynę błędu.

Zobacz też

CObject Klasa
Wykres hierarchii
CInternetConnection Klasa
CHttpConnection Klasa
CFtpConnection Klasa
CGopherConnection Klasa