Sdílet prostřednictvím


Internet URL Parsing Globals and Helpers

Když klient odešle dotaz na internetový server, můžete k extrahování informací o klientovi použít jeden z globálních analyzátorů adres URL. Pomocné funkce poskytují další funkce internetu.

Globální funkce pro analýzu internetových adres URL

Jméno popis
AfxParseURL Analyzuje řetězec adresy URL a vrátí typ služby a jeho komponenty.
AfxParseURLEx Parsuje řetězec adresy URL a vrátí typ služby a jeho součástí a poskytne uživatelské jméno a heslo.

Další pomocné rutiny internetu

Jméno popis
AfxThrowInternetException Vyvolá výjimku související s připojením k internetu.
AfxGetInternetHandleType Určuje typ internetového popisovače.

AfxParseURL

Tento globální kód se používá v CInternetSession::OpenURL.

BOOL AFXAPI AfxParseURL(
    LPCTSTR pstrURL,
    DWORD& dwServiceType,
    CString& strServer,
    CString& strObject,
    INTERNET_PORT& nPort);

Parametry

pstrURL
Ukazatel na řetězec obsahující adresu URL, která se má analyzovat.

dwServiceType
Určuje typ internetové služby. Možné hodnoty jsou následující:

  • AFX_INET_SERVICE_FTP

  • AFX_INET_SERVICE_HTTP

  • AFX_INET_SERVICE_HTTPS

  • AFX_INET_SERVICE_GOPHER

  • AFX_INET_SERVICE_FILE

  • AFX_INET_SERVICE_MAILTO

  • AFX_INET_SERVICE_NEWS

  • AFX_INET_SERVICE_NNTP

  • AFX_INET_SERVICE_TELNET

  • AFX_INET_SERVICE_WAIS

  • AFX_INET_SERVICE_MID

  • AFX_INET_SERVICE_CID

  • AFX_INET_SERVICE_PROSPERO

  • AFX_INET_SERVICE_AFS

  • AFX_INET_SERVICE_UNK

strServer
První segment adresy URL následující po typu služby.

strObject
Objekt, na který adresa URL odkazuje (může být prázdný).

nPort
Určuje se buď ze serverových nebo objektových částí adresy URL, pokud existuje.

Vrácená hodnota

Nenulové, pokud byla adresa URL úspěšně analyzována; jinak, 0, pokud je prázdný nebo neobsahuje známý typ internetové služby.

Poznámky

Analyzuje řetězec adresy URL a vrátí typ služby a jeho komponenty.

Například AfxParseURL analyzuje adresy URL formuláře service://server/dir/dir/object.ext:port a vrátí jeho komponenty uložené takto:

strServer == "server"

strObject == "/dir/dir/object/object.ext"

nPort == #port

dwServiceType == #service

Poznámka

Chcete-li tuto funkci volat, musí projekt obsahovat AFXINET.H.

Požadavky

Hlavička afxinet.h

AfxParseURLEx

Tato globální funkce je rozšířená verze AfxParseURL a používá se v CInternetSession::OpenURL.

BOOL AFXAPI AfxParseURLEx(
    LPCTSTR pstrURL,
    DWORD& dwServiceType,
    CString& strServer,
    CString& strObject,
    INTERNET_PORT& nPort,
    CString& strUsername,
    CString& strPassword,
    DWORD dwFlags = 0);

Parametry

pstrURL
Ukazatel na řetězec obsahující adresu URL, která se má analyzovat.

dwServiceType
Určuje typ internetové služby. Možné hodnoty jsou následující:

  • AFX_INET_SERVICE_FTP

  • AFX_INET_SERVICE_HTTP

  • AFX_INET_SERVICE_HTTPS

  • AFX_INET_SERVICE_GOPHER

  • AFX_INET_SERVICE_FILE

  • AFX_INET_SERVICE_MAILTO

  • AFX_INET_SERVICE_NEWS

  • AFX_INET_SERVICE_NNTP

  • AFX_INET_SERVICE_TELNET

  • AFX_INET_SERVICE_WAIS

  • AFX_INET_SERVICE_MID

  • AFX_INET_SERVICE_CID

  • AFX_INET_SERVICE_PROSPERO

  • AFX_INET_SERVICE_AFS

  • AFX_INET_SERVICE_UNK

strServer
První segment adresy URL následující po typu služby.

strObject
Objekt, na který adresa URL odkazuje (může být prázdný).

nPort
Určuje se buď ze serverových nebo objektových částí adresy URL, pokud existuje.

strUsername
Odkaz na CString objekt obsahující jméno uživatele.

strPassword
Odkaz na CString objekt obsahující heslo uživatele.

dwFlags
Příznaky řídí, jak analyzovat adresu URL. Může to být kombinace následujících hodnot:

Hodnota Význam
ICU_DECODE Převod řídicích sekvencí %XX na znaky
ICU_NO_ENCODE Nepřeveďte nebezpečné znaky na řídicí sekvenci.
ICU_NO_META Neodstraňujte z adresy URL metasekvence (například \ a \.).
ICU_ENCODE_SPACES_ONLY Zakódujte pouze mezery.
ICU_BROWSER_MODE Nezakódujte ani dekódujte znaky za znakem #nebo znaky a neodstraňujte koncové prázdné znaky za znakem ''. Pokud tato hodnota není zadaná, zakóduje se celá adresa URL a koncové prázdné znaky se odeberou.

Pokud použijete výchozí prostředí MFC, které není příznakem, převede funkce všechny nebezpečné znaky a metakvenční sekvence (například \.,\.. a \...) na řídicí sekvence.

Vrácená hodnota

Nenulové, pokud byla adresa URL úspěšně analyzována; jinak, 0, pokud je prázdný nebo neobsahuje známý typ internetové služby.

Poznámky

Parsuje řetězec adresy URL a vrací typ služby a jeho komponenty a také poskytuje uživatelské jméno a heslo. Příznaky označují způsob zpracování nebezpečných znaků.

Poznámka

Chcete-li tuto funkci volat, musí projekt obsahovat AFXINET.H.

Požadavky

Hlavička afxinet.h

AfxGetInternetHandleType

Pomocí této globální funkce určete typ internetového popisovače.

Syntaxe

DWORD AFXAPI AfxGetInternetHandleType(  HINTERNET hQuery );

Parametry

hQuery
Popisovač internetového dotazu.

Vrácená hodnota

Libovolný z typů internetových služeb definovaných rozhraním WININET.H. Seznam těchto internetových služeb najdete v části Poznámky. Pokud je popisovač null nebo není rozpoznán, vrátí funkce AFX_INET_SERVICE_UNK.

Poznámky

Následující seznam obsahuje možné typy internetu vrácené AfxGetInternetHandleType.

  • INTERNET_HANDLE_TYPE_INTERNET

  • INTERNET_HANDLE_TYPE_CONNECT_FTP

  • INTERNET_HANDLE_TYPE_CONNECT_GOPHER

  • INTERNET_HANDLE_TYPE_CONNECT_HTTP

  • INTERNET_HANDLE_TYPE_FTP_FIND

  • INTERNET_HANDLE_TYPE_FTP_FIND_HTML

  • INTERNET_HANDLE_TYPE_FTP_FILE

  • INTERNET_HANDLE_TYPE_FTP_FILE_HTML

  • INTERNET_HANDLE_TYPE_GOPHER_FIND

  • INTERNET_HANDLE_TYPE_GOPHER_FIND_HTML

  • INTERNET_HANDLE_TYPE_GOPHER_FILE

  • INTERNET_HANDLE_TYPE_GOPHER_FILE_HTML

  • INTERNET_HANDLE_TYPE_HTTP_REQUEST

Poznámka

Aby bylo možné tuto funkci volat, musí projekt obsahovat AFXINET.H.

Požadavky

Hlavička: afxinet.h

AfxThrowInternetException

Vyvolá výjimku z internetu.

Syntaxe

   void AFXAPI AfxThrowInternetException(  DWORD dwContext,  DWORD dwError = 0 );

Parametry

dwContext
Identifikátor kontextu operace, která způsobila chybu. Výchozí hodnota dwContext je určena původně v CInternetSession a je předána CInternet Připojení ion- a CInternetFile-odvozené třídy. U konkrétních operací prováděných s připojením nebo souborem obvykle přepíšete výchozí hodnotu vlastním dwContext . Tato hodnota se pak vrátí do CInternetSession::OnStatusCallback k identifikaci stavu konkrétní operace.

dwError
Chyba, která způsobila výjimku.

Poznámky

Zodpovídáte za určení příčiny na základě kódu chyby operačního systému.

Poznámka

Chcete-li tuto funkci volat, musí projekt obsahovat AFXINET.H.

Požadavky

Hlavička: afxinet.h

Viz také

Makra a globální objekty
CInternetException – třída
AfxParseURL