共用方式為


因特網 URL 剖析全域和協助程式

當用戶端將查詢傳送至網際網路伺服器時,您可以使用其中一個 URL 剖析全域來擷取用戶端的相關資訊。 協助程式函式提供其他因特網功能。

網際網路 URL 剖析全域

名稱 描述
AfxParseURL 剖析 URL 字串並傳回服務類型及其元件。
AfxParseURLEx 剖析 URL 字串並傳回服務類型及其元件,並提供使用者名稱和密碼。

其他因特網協助程式

名稱 描述
AfxThrowInternetException 擲回與因特網連線相關的例外狀況。
AfxGetInternetHandleType 決定因特網句柄的類型。

AfxParseURL

此全域用於 CInternetSession::OpenURL

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

參數

pstrURL
字串的指標,其中包含要剖析的URL。

dwServiceType
表示因特網服務的類型。 可能值如下所示:

  • 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
服務類型之後 URL 的第一個區段。

strObject
URL 參考的物件(可能是空的)。

nPort
如果其中一個都存在,請從URL的伺服器或物件部分決定。

傳回值

如果 URL 已成功剖析,則為非零;否則,如果它是空的,或不包含已知的因特網服務類型,則為 0。

備註

它會剖析 URL 字串,並傳回服務和其元件的類型。

例如, AfxParseURL 剖析表單 的 URL service://server/dir/dir/object.ext:port ,並傳回其儲存的元件,如下所示:

strServer == “server”

strObject == “/dir/dir/object/object.ext”

nPort == #port

dwServiceType == #service

注意

若要呼叫此函式,您的專案必須包含 AFXINET.H。

需求

標頭 afxinet.h

AfxParseURLEx

此全域函式是 AfxParseURL擴充版本,並用於 CInternetSession::OpenURL

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

參數

pstrURL
字串的指標,其中包含要剖析的URL。

dwServiceType
表示因特網服務的類型。 可能值如下所示:

  • 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
服務類型之後 URL 的第一個區段。

strObject
URL 參考的物件(可能是空的)。

nPort
如果其中一個都存在,請從URL的伺服器或物件部分決定。

strUsername
對象的參考 CString ,其中包含用戶的名稱。

strPassword
對象的參考 CString ,其中包含用戶的密碼。

dwFlags
控制如何剖析 URL 的旗標。 可以是下列值的組合:

意義
ICU_DECODE 將 %XX 逸出序列轉換成字元。
ICU_NO_ENCODE 請勿將不安全的字元轉換成逸出序列。
ICU_NO_META 請勿從 URL 移除中繼序列(例如 “\ .” 和 “\ ..”。
ICU_ENCODE_SPACES_ONLY 僅編碼空格。
ICU_BROWSER_MODE 請勿在 『#』 或 '' 後面編碼或譯碼字元,而且不要移除 '' 後面的尾端空格符。 如果未指定此值,則會編碼整個 URL,並移除尾端空格符。

如果您使用沒有旗標的 MFC 預設值,函式會轉換所有不安全的字元和中繼序列(例如 \.、\ ..和 \...) 來逸出序列。

傳回值

如果 URL 已成功剖析,則為非零;否則,如果它是空的,或不包含已知的因特網服務類型,則為 0。

備註

它會剖析 URL 字串,並傳回服務和其元件的類型,以及提供使用者的名稱和密碼。 旗標會指出如何處理不安全的字元。

注意

若要呼叫此函式,您的專案必須包含 AFXINET.H。

需求

標頭 afxinet.h

AfxGetInternetHandleType

使用此全域函式來判斷因特網句柄的類型。

語法

DWORD AFXAPI AfxGetInternetHandleType(  HINTERNET hQuery );

參數

hQuery
因特網查詢的句柄。

傳回值

WININET.H 所定義的任何因特網服務類型。 如需這些因特網服務的清單,請參閱一節。 如果句柄為 NULL 或無法辨識,函式會傳回AFX_INET_SERVICE_UNK。

備註

下列清單包含 所 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

注意

若要呼叫此函式,您的專案必須包含 AFXINET.H。

需求

標頭: afxinet.h

AfxThrowInternetException

擲回因特網例外狀況。

語法

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

參數

dwContext
造成錯誤之作業的內容識別碼。 dwContext預設值原本是在 CInternetSession指定,並傳遞至 CInternetConnection- 和 CInternetFile 衍生類別。 針對在連線或檔案上執行的特定作業,您通常會以 您自己的 dwContext 覆寫預設值。 然後,此值會傳回至 CInternetSession::OnStatusCallback ,以識別特定作業的狀態。

dwError
造成例外狀況的錯誤。

備註

您必須負責根據操作系統錯誤碼來判斷原因。

注意

若要呼叫此函式,您的專案必須包含 AFXINET.H。

需求

標頭: afxinet.h

另請參閱

巨集和全域
CInternetException 類別
AfxParseURL