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
Název | 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
Název | 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.
Návratová 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.
Návratová 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.
Návratová 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 CInternetConnection- 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