Анализ 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, если оно пусто или не содержит известный тип службы Интернета.
Замечания
Он анализирует строку URL-адреса и возвращает тип службы и его компоненты.
Например, AfxParseURL
анализирует URL-адреса формы service://server/dir/dir/object.ext:port и возвращает его компоненты, хранящиеся следующим образом:
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 | Преобразуйте escape-последовательности %XX в символы. |
ICU_NO_ENCODE | Не преобразуйте небезопасные символы в escape-последовательность. |
ICU_NO_META | Не удаляйте мета последовательности (например, "\ ." и "\ ..") из URL-адреса. |
ICU_ENCODE_SPACES_ONLY | Кодируйте только пробелы. |
ICU_BROWSER_MODE | Не кодируйте или декодируйте символы после "#" или "" и не удаляйте конечные пробелы после "". Если это значение не указано, весь URL-адрес закодирован и удаляется конечный пробел. |
Если используется значение по умолчанию MFC, которое не является флагами, функция преобразует все небезопасные символы и мета последовательности (например, \.,\ .., и \...) в escape-последовательности.
Возвращаемое значение
Ненулевое значение, если URL-адрес был успешно проанализирован; в противном случае значение 0, если оно пусто или не содержит известный тип службы Интернета.
Замечания
Он анализирует строку URL-адреса и возвращает тип службы и его компоненты, а также предоставляет имя и пароль пользователя. Флаги указывают, как обрабатываются небезопасные символы.
Примечание.
Чтобы вызвать эту функцию, проект должен включать 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
Примечание.
Чтобы вызвать эту функцию, проект должен включать AFXINET.H.
Требования
Заголовок: afxinet.h
AfxThrowInternetException
Создает исключение Из Интернета.
Синтаксис
void AFXAPI AfxThrowInternetException( DWORD dwContext, DWORD dwError = 0 );
Параметры
dwContext
Идентификатор контекста для операции, вызвавшей ошибку. Значение по умолчанию dwContext указывается первоначально в CInternetSession и передается классам CInternetConnection и CInternetFile. Для определенных операций, выполняемых в соединении или файле, обычно переопределяется значение по умолчанию с помощью dwContext собственного. Затем это значение возвращается в CInternetSession::OnStatusCallback , чтобы определить состояние конкретной операции.
dwError
Ошибка, вызвавшей исключение.
Замечания
Вы несете ответственность за определение причины на основе кода ошибки операционной системы.
Примечание.
Чтобы вызвать эту функцию, проект должен включать AFXINET.H.
Требования
Заголовок: afxinet.h