Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.11.2020, 05:40   #1
beruk
Пользователь
 
Регистрация: 20.10.2020
Сообщений: 13
По умолчанию Как последовательно обрабатывать ответы HttpQueryInfo?

Делаю так:

Код:
//Посылаю запрос (POST):
TCHAR postHead[46] = "Content-Type:application/json;charset=utf-8\r\n";

HttpSendRequestA(hResourceHandle, postHead, 45, (LPVOID)"{\"action\":\"cancel\"}", 19);

//Получаю ответ:
char StatusCode[30] = "";
DWORD StatusCodeLen = sizeof(StatusCode);
HttpQueryInfo(hResourceHandle, HTTP_QUERY_STATUS_CODE, &StatusCode, &StatusCodeLen, NULL);
StatusCode[StatusCodeLen];

//Вывожу ответ в строку статуса:
if (strcmp(StatusCode, "200") == 0) SetWindowTextA(myStatusEdit, "Исполнено");
if (strcmp(StatusCode, "202") == 0) SetWindowTextA(myStatusEdit, "Ожидание");
if (strcmp(StatusCode, "400") == 0) SetWindowTextA(myStatusEdit, "Неверные параметры");
if (strcmp(StatusCode, "404") == 0) SetWindowTextA(myStatusEdit, "Ордер не найден");
if (strcmp(StatusCode, "500") == 0) SetWindowTextA(myStatusEdit, "Ошибка сервера");
Мой запрос уходит и исполняется на стороне сервера без проблем и я получаю ответ. Проблема в том, что первым приходит ответ 202 "Ожидание" и я его фиксирую, но потом должен приходить ответ 200 "Исполнено", но как его поймать и обновить статус я не понимаю.

Пробовал делать это через цикл:
Код:
while (strcmp(StatusCode, "202") == 0)
{
    SetWindowTextA(myStatusEdit, "Ожидание");
    HttpSendRequestA(hResourceHandle, postHead, 45, NULL, 0);
    HttpQueryInfo(hResourceHandle, HTTP_QUERY_STATUS_CODE, &StatusCode, &StatusCodeLen, NULL);
    StatusCode[StatusCodeLen];
}
Но на цикле программа зависает.

Как решить эту проблему?
beruk вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать что бы в приложении был 16 битный звук как в Windows XP? Kirill89 Windows 5 14.10.2020 17:04
есть дата сет по которому я строю гистограмму, мне нужно как то вытащить данные из области отмеченной на картинке. Как это можно сделать? TSwallow Python 1 02.10.2020 23:37
Ответы из флешь программы - разгадать программу и достать ответы. Flash. _BLaCK_BuLLeT_ Общие вопросы Web 1 30.05.2013 14:40
Последовательно выпадающая форма Krasi HTML и CSS 3 14.03.2010 12:29