次の方法で共有


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

関連項目

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