качественный страховой полис в Воронеже на сайте s-a-g.ru

 
 
Главная arrow С++ (часть 2) arrow Функция httpverOKQ

Функция httpverOKQ

Функция httpverOKO, приведенная далее, проверяет, поддерживает ли
протокол HTTP версии 1.1 сервер, обрабатывающий запрос.
// Возвращает true, если у протокола HTTP версия 1.1 или больше.
bool Download: :httpverOK (HINTERNET hlurl)   {
Char str[80];
unsigned long len = 79;
II Получает версию протокола HTTP.
if(!HttpQueryinfо(hlurl, HTTP_QUERY_VERSION,  &str, &len, NULL)) return false;
11 Сначала проверяет главный номер версии HTTP, char *р = strchr(str,   'Г);
P++;
// Теперь находит начало младшего номера версии HTTP.
р = strchr(str,   ' .');
Р++;
// Преобразует в тип int. int minorVerNum = atoi(p);
if(minorVerNum > 0) return true; return false;
}
Функции httpverOKO передается дескриптор URL-адреса. Далее извлекается
Версия HTTP (В СТРОКОВОЙ форме) С ПОМОЩЬЮ ВЫЗОВа фунКЦИИ HttpQueryInfo()
для этого дескриптора и задания константы HTTP_QUERY_VERSION, которая запрашивает информацию о версии. Этот запрос сохраняет строку с номером версии в переменной str. В случае протокола HTTP версии 1.1 строка будет выглядеть следующим образом:
HTTP/1.1
Функция устанавливает переменную р для указания на символ "/" с помощью вызова функции strchr о из стандартной библиотеки. Та, в свою очередь, увеличивает указатель р на единицу и подтверждает, что он ссылается на цифру, отличную от нуля. Далее находится указатель на точку, отделяющую номер главной версии от номера подверсии, и затем указатель перемещается для ссылки на начало числа, следующего за точкой. В завершение, это строковое значение с помощью стандартной библиотечной функции atoi о преобразуется в целое число. Если номер подверсии не меньше 1, версия протокола HTTP не меньше 1.1.