powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / HTTP вызовы из библиотеки - какие грабли?
4 сообщений из 4, страница 1 из 1
HTTP вызовы из библиотеки - какие грабли?
    #33113548
dishlo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Написан код для http запросов. В обычном приложении работает. Помещаем этот код в библиотеку, подключаем, вызываем - не работает. Висит и ничего не делает. Файрвол убрал...
В чем может быть причина?
...
Рейтинг: 0 / 0
HTTP вызовы из библиотеки - какие грабли?
    #33113563
dishlo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уточнение, локальные запросы срабатывают, внешка - нет.
...
Рейтинг: 0 / 0
HTTP вызовы из библиотеки - какие грабли?
    #33113576
dishlo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уточнение, на http://ya.ru не работает, а на http://usu.ru вполне работает.

Какие такие признаки несет в себе запрос из библиотеки, что серьезные порталы его отпихивают, а простые ребята принимают?
...
Рейтинг: 0 / 0
HTTP вызовы из библиотеки - какие грабли?
    #33113622
Partisan M
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Библиотек и так достаточное количество, зачем писать свою.
Что делать: для отладки добавить вывод куда-нибудь HTTP-заголовков, получаемых от сервера, и смотреть в них последние HTTP-коды. Они покажут, какое действие сервер ожидает от клиента.
Если мы щёлкаем мышью по ссылке в IE и в ответ загружается страница, то только кажется, что выполнена одна операция посылки запроса и получения ответа. В действительности может быть целая цепочка запросов и ответов. Например, ты посылаешь HTTP запрос GET на получение страницы, а сервер в ответ посылает cookie или запрос на их получение. Программа не посылает их серверу, и тот в свою очередь, ждёт ничего не делая. Или: в ответ на запрос сервер делает переадресацию на другой адрес. Тогда он пошлёт HTTP код, что производится переадресация, и новый адрес. Клиент, получив этот код, должен послать повторный запрос по новому адресу (Возможна цепочка переадресаций, и даже циклическая переадресация, если клиентская программа реагирует неправильно). Но по глупости этого не делает, и возникает ожидание.Или, если используется прокси-сервер, то он сначала посылает коды, означающие "требуется авторизация" или "авторизация не удалась" (если не послать правильные имя-пароль). Я описал только некоторые ситуации, другие изучить на опыте.
Если сервер - локальный, то посылаемымые им коды можно увидеть в его лог-файле. В общем случае надо улавливать своей программой полученные от сервера HTTP заголовки, и выводить. Каждый заголовок с HTTP кодом имеет вид:
200 Ok
(код и краткое сообщение об успешном выполнении операции). В группе заголовков, посылаемых сервером зараз, могут быть несколько, содержащих коды (начинаются с числа). Поэтому выводить их все. Полный список HTTP кодов содержится в спецификации протокола HTTP 1.1 (документ RFC2616).

Да, ещё бывают составные HTML страницы - фреймы и картинки загружаются дополнительными запросами. Но если устранить вышеописанные ситуации, то ты хоть что нибудь получишь сразу.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / HTTP вызовы из библиотеки - какие грабли?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]