Internet URL Parsing Globals

 

The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.

The latest version of this topic can be found at Internet URL Parsing Globals and Helpers.

When a client sends a query to the Internet server, you can use one of the URL parsing globals to extract information about the client.

Internet URL Parsing Globals

AfxParseURLParses a URL string and returns the type of service and its components.
AfxParseURLExParses a URL string and returns the type of service and its components, as well as providing the user name and password.

This global is used in CInternetSession::OpenURL.

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

Parameters

pstrURL
A pointer to a string containing the URL to be parsed.

dwServiceType
Indicates the type of Internet service. Possible values are as follows:

  • 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
The first segment of the URL following the service type.

strObject
An object that the URL refers to (may be empty).

nPort
Determined from either the Server or Object portions of the URL, if either exists.

Return Value

Nonzero if the URL was successfully parsed; otherwise, 0 if it is empty or does not contain a known Internet service type.

Remarks

It parses a URL string and returns the type of service and its components.

For example, AfxParseURL parses URLs of the form service://server/dir/dir/object.ext:port and returns its components stored as follows:

strServer == "server"

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

nPort == #port

dwServiceType == #service

System_CAPS_ICON_note.jpg Note

To call this function, your project must include AFXINET.H.

This global function is the extended version of AfxParseURL and is used in CInternetSession::OpenURL.

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

Parameters

pstrURL
A pointer to a string containing the URL to be parsed.

dwServiceType
Indicates the type of Internet service. Possible values are as follows:

  • 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
The first segment of the URL following the service type.

strObject
An object that the URL refers to (may be empty).

nPort
Determined from either the Server or Object portions of the URL, if either exists.

strUsername
A reference to a CString object containing the name of the user.

strPassword
A reference to a CString object containing the password of the user.

dwFlags
The flags controlling how to parse the URL. Can be a combination of the following values:

ValueMeaning
ICU_DECODEConvert %XX escape sequences to characters.
ICU_NO_ENCODEDo not convert unsafe characters to escape sequence.
ICU_NO_METADo not remove meta sequences (such as "\ ." and "\ ..") from the URL.
ICU_ENCODE_SPACES_ONLYEncode spaces only.
ICU_BROWSER_MODEDo not encode or decode characters after '#' or '', and do not remove trailing white space after ''. If this value is not specified, the entire URL is encoded and trailing white space is removed.

If you use the MFC default, which is no flags, the function converts all unsafe characters and meta sequences (such as \.,\ .., and \...) to escape sequences.

Return Value

Nonzero if the URL was successfully parsed; otherwise, 0 if it is empty or does not contain a known Internet service type.

Remarks

It parses a URL string and returns the type of service and its components, as well as providing the user's name and password. The flags indicate how unsafe characters are handled.

System_CAPS_ICON_note.jpg Note

To call this function, your project must include AFXINET.H.

Macros and Globals

Show: