다음을 통해 공유


인터넷 URL 구문 분석 전역 및 도우미

클라이언트가 인터넷 서버에 쿼리를 보낼 때 URL 구문 분석 전역 중 하나를 사용하여 클라이언트에 대한 정보를 추출할 수 있습니다. 도우미 함수는 다른 인터넷 기능을 제공합니다.

인터넷 URL 전역 구문 분석

속성 설명
AfxParseURL URL 문자열을 구문 분석하고 서비스 유형 및 해당 구성 요소를 반환합니다.
AfxParseURLEx URL 문자열을 구문 분석하고 서비스 유형 및 해당 구성 요소를 반환하고 사용자 이름과 암호를 제공합니다.

기타 인터넷 도우미

속성 설명
AfxThrowInternetException 인터넷 연결과 관련된 예외를 throw합니다.
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의 서버 또는 개체 부분(있는 경우)에서 결정됩니다.

Return Value

URL이 성공적으로 구문 분석된 경우 0이 아닙니다. 그렇지 않으면 비어 있거나 알려진 인터넷 서비스 유형이 없는 경우 0입니다.

설명

URL 문자열을 구문 분석하고 서비스 유형 및 해당 구성 요소를 반환합니다.

예를 들어 service://server/dir/dir/object.ext:port AfxParseURL 양식의 URL을 구문 분석하고 다음과 같이 저장된 구성 요소를 반환합니다.

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 기본값을 사용하는 경우 함수는 안전하지 않은 모든 문자와 메타 시퀀스(예: \.,\ .., \...)를 이스케이프 시퀀스로 변환합니다.

Return Value

URL이 성공적으로 구문 분석된 경우 0이 아닙니다. 그렇지 않으면 비어 있거나 알려진 인터넷 서비스 유형이 없는 경우 0입니다.

설명

URL 문자열을 구문 분석하고 서비스 유형 및 해당 구성 요소를 반환하고 사용자의 이름과 암호를 제공합니다. 플래그는 안전하지 않은 문자가 처리되는 방식을 나타냅니다.

참고 항목

이 함수를 호출하려면 프로젝트에 AFXINET.H가 포함되어야 합니다.

요구 사항

헤더 afxinet.h

AfxGetInternetHandleType

이 전역 함수를 사용하여 인터넷 핸들의 유형을 확인합니다.

구문

DWORD AFXAPI AfxGetInternetHandleType(  HINTERNET hQuery );

매개 변수

hQuery
인터넷 쿼리에 대한 핸들입니다.

Return Value

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

인터넷 예외를 throw합니다.

구문

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

매개 변수

dwContext
오류를 발생시킨 작업의 컨텍스트 식별자입니다. dwContext의 기본값은 원래 CInternetSession에서 지정되며 CInternetConnection- 및 CInternetFile 파생 클래스에 전달 됩니다. 연결 또는 파일에서 수행되는 특정 작업의 경우 일반적으로 고유한 dwContext를 사용하여 기본값을 재정의합니다. 그런 다음 이 값은 CInternetSession::OnStatusCallback으로 반환되어 특정 작업의 상태를 식별합니다.

dwError
예외를 발생시킨 오류입니다.

설명

운영 체제 오류 코드를 기반으로 원인을 확인할 책임이 있습니다.

참고 항목

이 함수를 호출하려면 프로젝트에 AFXINET.H가 포함되어야 합니다.

요구 사항

헤더: afxinet.h

참고 항목

매크로 및 전역
CInternetException 클래스
AfxParseURL