インターネット 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 以外。それ以外の場合は、空であるか、既知のインターネット サービスの種類が含まれていない場合は 0。
解説
URL 文字列を解析し、サービスの種類とそのコンポーネントを返します。
たとえば、 AfxParseURL
はフォーム service://server/dir/dir/object.ext:port の URL を解析し、次のように格納されているコンポーネントを返します。
strServer == "server"
strObject == "/dir/dir/object/object.ext"
nPort == #port
dwServiceType == #service
Note
この関数を呼び出すには、プロジェクトに 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 以外。それ以外の場合は、空であるか、既知のインターネット サービスの種類が含まれていない場合は 0。
解説
URL 文字列を解析し、サービスの種類とそのコンポーネントを返し、ユーザーの名前とパスワードを指定します。 フラグは、安全でない文字がどのように処理されるかを示します。
Note
この関数を呼び出すには、プロジェクトに 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
Note
この関数を呼び出すには、プロジェクトに AFXINET.H を含める必要があります。
要件
Header: afxinet.h
AfxThrowInternetException
インターネット例外をスローします。
構文
void AFXAPI AfxThrowInternetException( DWORD dwContext, DWORD dwError = 0 );
パラメーター
dwContext
エラーの原因となった操作のコンテキスト識別子。 dwContext の既定値は、最初は CInternetSession で指定され、CInternetConnection- および CInternetFile 派生クラスに渡されます。 接続またはファイルに対して実行される特定の操作では、通常、既定値を独自の dwContext でオーバーライドします。 その後、この値は CInternetSession::OnStatusCallback に返され、特定の操作の状態を識別します。
dwError
例外の原因となったエラー。
解説
オペレーティング システムのエラー コードに基づいて原因を特定する必要があります。
Note
この関数を呼び出すには、プロジェクトに AFXINET.H を含める必要があります。
要件
Header: afxinet.h