Недавно мне была дана задача добавить возможность взаимодействия с Web Map Services в существующее приложение MFC, и мне нужен HTTP-API на стороне клиента.
Основываясь на моем исследовании, ведущими кандидатами являются CAtlHttpClient и WinHTTP . Мне было любопытно посмотреть, есть ли у кого-нибудь опыт, которым он может поделиться, или мнения о том, какой из них будет лучшим способом (или предложения о чем-то совершенно другом).
На первый взгляд, CAtlHttpClient выглядит немного выше и более прост в использовании. Однако в моем исследовании казалось, что всякий раз, когда у людей возникали проблемы с невозможностью что-либо с этим сделать, ответом было «использовать WinHTTP».
Результат
Я завел WinHTTP, потому что WinInet отображает диалоговые окна и наше приложение можно использовать через COM API. Я избегал Ultimate TCP / IP, потому что я работаю в большой компании, и получение стороннего программного обеспечения, одобренного для использования в продукте, - полный кошмар.