Вольдемар Опубликовано 1 ноября, 2017 Поделиться Опубликовано 1 ноября, 2017 Подскажите, что лучше использовать: TIdHttp или TNetHTTPClient? Запрос при Get одинаковый, но TNetHTTPClient возвращает корректный ответ от сервера, а TIdHttp - 400-ю ошибку. В то же время есть ощущение, что TIdHttp работает быстрее, чем TNetHTTPClient. Цитата Ссылка на комментарий
0 Alex7wrt Опубликовано 1 ноября, 2017 Поделиться Опубликовано 1 ноября, 2017 Раньше использовал TIdHttp, затем перешёл на THttpClient. THttpClient и TNetHttpClient - по сути одно и то же, только последний является визуальным компонентом. Поэтому в вашем случае корректнее сравнивать THttpClient и TIdHttp. Конкретно для моих целей использование THttpClient предпочтительнее, поскольку он из коробки работает с https на всех платформах, а в случае TIdHttp для этого ещё нужно подключать ssl. Разницы в скорости работы не замечал. Rusland, Anatoliy, Вольдемар и 1 другой 4 Цитата Ссылка на комментарий
0 FREEFAR Опубликовано 1 ноября, 2017 Поделиться Опубликовано 1 ноября, 2017 Если правильно помню THttpClient работает асинхронно Цитата Ссылка на комментарий
0 mazayhin Опубликовано 1 ноября, 2017 Поделиться Опубликовано 1 ноября, 2017 1 час назад, FREEFAR сказал: Если правильно помню THttpClient работает асинхронно К тому же он нативный для каждой платформы Цитата Ссылка на комментарий
0 Модераторы Равиль Зарипов (ZuBy) Опубликовано 2 ноября, 2017 Модераторы Поделиться Опубликовано 2 ноября, 2017 15 часов назад, FREEFAR сказал: Если правильно помню THttpClient работает асинхронно синхронно и асинхронно, смотря как настроить Anatoliy 1 Цитата Ссылка на комментарий
0 GASCHE Опубликовано 2 ноября, 2017 Поделиться Опубликовано 2 ноября, 2017 9 часов назад, Равиль Зарипов (ZuBy) сказал: синхронно и асинхронно, смотря как настроить А как настраивать? Цитата Ссылка на комментарий
0 Dmitry_4501 Опубликовано 2 ноября, 2017 Поделиться Опубликовано 2 ноября, 2017 (изменено) 16 минут назад, GASCHE сказал: А как настраивать? У компонента TNetHttpClient насколько я помню есть свойство Asynchronous, если выставить значение в true, то работа компонента станет асинхронной, а вот про THttpClient такого сказать не могу (по крайней мере я не понял как там можно настроить его на асинхронную работу), но проблему асинхронности с компонентом THttpClient можно решить с помощью потоков. Изменено 2 ноября, 2017 пользователем Дмитрий Потапов Andrey Efimov и Равиль Зарипов (ZuBy) 2 Цитата Ссылка на комментарий
0 Модераторы Andrey Efimov Опубликовано 3 ноября, 2017 Модераторы Поделиться Опубликовано 3 ноября, 2017 Если не изменяет память, то: Компонент TNetHttpClient это просто обёртка над THttpClient. В этой обёртке и реализована асинхронность, посредством создания отдельного потока. Если по каким-то причинам не хочется использовать TNetHttpClient с асинхронным режимом, то берёте THttpClient и запихиваете в отдельный поток. На 100% точность не претендую, но когда стоял вопрос, что использовать в одном из приложений, выбор был сделан в пользу TNetHttpClient, т.к. уже всё, что нужно написали за нас (только использовать студию не ниже Berlin, т.к. в Seattle были какие-то проблемы с асинхронностью) p.s. Если приложение для мобильных устройств - то юзайте TNetHttpClient (THttpClient). С indy компонентами на моб. устройствах проблемы. Anatoliy, Равиль Зарипов (ZuBy), #WAMACO и 1 другой 4 Цитата Ссылка на комментарий
Вопрос
Вольдемар
Подскажите, что лучше использовать: TIdHttp или TNetHTTPClient?
Запрос при Get одинаковый, но TNetHTTPClient возвращает корректный ответ от сервера, а TIdHttp - 400-ю ошибку.
В то же время есть ощущение, что TIdHttp работает быстрее, чем TNetHTTPClient.
Ссылка на комментарий
7 ответов на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.