網際網路 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
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應