共用方式為


網際網路 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 指定,並傳遞至 CInternet連線ion - 和 CInternetFile 衍生類別。 針對在連線或檔案上執行的特定作業,您通常會以 您自己的 dwCoNtext 覆寫預設值。 然後,此值會傳回至 CInternetSession::OnStatusCallback ,以識別特定作業的狀態。

dwError
造成例外狀況的錯誤。

備註

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

注意

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

需求

標頭: afxinet.h

另請參閱

宏和全域
CInternetException 類別
AfxParseURL