Share via


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