インターネット 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_Standard EditionRVICE_FTP

  • AFX_INET_Standard EditionRVICE_HTTP

  • AFX_INET_Standard EditionRVICE_HTTPS

  • AFX_INET_Standard EditionRVICE_GOPHER

  • AFX_INET_Standard EditionRVICE_FILE

  • AFX_INET_Standard EditionRVICE_MAILTO

  • AFX_INET_Standard EditionRVICE_NEWS

  • AFX_INET_Standard EditionRVICE_NNTP

  • AFX_INET_Standard EditionRVICE_TELNET

  • AFX_INET_Standard EditionRVICE_WAIS

  • AFX_INET_Standard EditionRVICE_MID

  • AFX_INET_Standard EditionRVICE_CID

  • AFX_INET_Standard EditionRVICE_PROSPERO

  • AFX_INET_Standard EditionRVICE_AFS

  • AFX_INET_Standard EditionRVICE_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_Standard EditionRVICE_FTP

  • AFX_INET_Standard EditionRVICE_HTTP

  • AFX_INET_Standard EditionRVICE_HTTPS

  • AFX_INET_Standard EditionRVICE_GOPHER

  • AFX_INET_Standard EditionRVICE_FILE

  • AFX_INET_Standard EditionRVICE_MAILTO

  • AFX_INET_Standard EditionRVICE_NEWS

  • AFX_INET_Standard EditionRVICE_NNTP

  • AFX_INET_Standard EditionRVICE_TELNET

  • AFX_INET_Standard EditionRVICE_WAIS

  • AFX_INET_Standard EditionRVICE_MID

  • AFX_INET_Standard EditionRVICE_CID

  • AFX_INET_Standard EditionRVICE_PROSPERO

  • AFX_INET_Standard EditionRVICE_AFS

  • AFX_INET_Standard EditionRVICE_UNK

strServer
サービスの種類に続く URL の最初のセグメント。

strObject
URL が参照するオブジェクト (空の場合があります)。

nPort
URL のサーバーまたはオブジェクトの部分 (存在する場合) から決定されます。

strUsername
ユーザーの名前を CString 含むオブジェクトへの参照。

strPassword
ユーザーのパスワードを CString 含むオブジェクトへの参照。

dwFlags
URL の解析方法を制御するフラグ。 次の値の組み合わせを指定できます。

Value 意味
ICU_DECODE %XX エスケープ シーケンスを文字に変換します。
ICU_NO_ENCODE 安全でない文字をエスケープ シーケンスに変換しないでください。
ICU_NO_META URL からメタ シーケンス ("\." や "\ .."など) を削除しないでください。
ICU_ENCODE_SPACES_ONLY スペースのみをエンコードします。
ICU_BROWStandard EditionR_MODE '#' または '' の後の文字はエンコードまたはデコードせず、'' の後の末尾の空白は削除しないでください。 この値を指定しない場合、URL 全体がエンコードされ、末尾の空白は削除されます。

MFC の既定値 (フラグなし) を使用する場合、関数はすべての安全でない文字とメタ シーケンス (\.、\ ..、\..など) をエスケープ シーケンスに変換します。

戻り値

URL が正常に解析された場合は 0 以外。それ以外の場合は、空であるか、既知のインターネット サービスの種類が含まれていない場合は 0。

解説

URL 文字列を解析し、サービスの種類とそのコンポーネントを返し、ユーザーの名前とパスワードを指定します。 フラグは、安全でない文字がどのように処理されるかを示します。

Note

この関数を呼び出すには、プロジェクトに AFXINET.H を含める必要があります。

必要条件

ヘッダー afxinet.h

AfxGetInternetHandleType

このグローバル関数を使用して、インターネット ハンドルの種類を確認します。

構文

DWORD AFXAPI AfxGetInternetHandleType(  HINTERNET hQuery );

パラメーター

hQuery
インターネット クエリへのハンドル。

戻り値

WININET.H によって定義されているインターネット サービスの種類。 これらのインターネット サービスの一覧については、「解説」セクションを参照してください。 ハンドルが NULL または認識されない場合、関数はAFX_INET_Standard EditionRVICE_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 を含める必要があります。

必要条件

ヘッダー: afxinet.h

AfxThrowInternetException

インターネット例外をスローします。

構文

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

パラメーター

dwContext
エラーの原因となった操作のコンテキスト識別子。 dwContext の既定値は、もともと CInternetSession指定され、CInternetConnection クラスと CInternetFile 派生クラスに渡されます。 接続またはファイルに対して実行される特定の操作では、通常、既定値を独自の dwContextオーバーライドします。 その後、この値は CInternetSession::OnStatusCallback に返され、特定の操作の状態を識別します。

dwError
例外の原因となったエラー。

解説

オペレーティング システムのエラー コードに基づいて原因を特定する必要があります。

Note

この関数を呼び出すには、プロジェクトに AFXINET.H を含める必要があります。

必要条件

ヘッダー: afxinet.h

関連項目

マクロとグローバル
CInternetException クラス
AfxParseURL