http и json libraries
От: a9000  
Дата: 22.10.17 20:36
Оценка:
Подскажите что есть хорошее для задачи
обратиться к серверу по http(s) с GET-запросом
сервер возвращает ответ в формате JSON
его нужно принять и распарсить (то есть получить какую-то итерабельную коллекцию).
Для http хорошо бы чтобы была поддержка сжатия.

Никогда конкретно таким не занимался, поэтому не знаю какие есть хорошие библиотеки для этого. Кроссплатформенные с открытым кодом.
Re: http и json libraries
От: Pzz Россия https://github.com/alexpevzner
Дата: 22.10.17 20:45
Оценка: 1 (1)
Здравствуйте, a9000, Вы писали:

A>Подскажите что есть хорошее для задачи

A>обратиться к серверу по http(s) с GET-запросом
A>сервер возвращает ответ в формате JSON
A>его нужно принять и распарсить (то есть получить какую-то итерабельную коллекцию).
A>Для http хорошо бы чтобы была поддержка сжатия.

Вот у языка Go все перечисленное прямо в стандартной библиотеке имеется. Кроссплатформенное и с открытым кодом
Re: http и json libraries
От: MTD https://github.com/mtrempoltsev
Дата: 23.10.17 04:41
Оценка: +3
Здравствуйте, a9000, Вы писали:

A>Подскажите что есть хорошее для задачи

A>обратиться к серверу по http(s) с GET-запросом
A>сервер возвращает ответ в формате JSON
A>его нужно принять и распарсить (то есть получить какую-то итерабельную коллекцию).
A>Для http хорошо бы чтобы была поддержка сжатия.

Правильно тебе сказали — бери Go. Если же очень хочется именно С++, то чтобы обратиться по http тебе нужна libcurl, для поддержки https собирать ее надо с openssl, сжатие она поддерживает, но собирать надо с zlib — все это индустриальный стандарт. Для json есть rapidjson, все кроме последнего — С. Все перечисленное обкатанное в бою, кроссплатформенное и с открытым кодом.
Re: http и json libraries
От: Dair Россия  
Дата: 23.10.17 05:52
Оценка: 3 (1)
Здравствуйте, a9000, Вы писали:

A>Подскажите что есть хорошее для задачи

A>обратиться к серверу по http(s) с GET-запросом
libcurl, MTD верно говорит
Автор: MTD
Дата: 23.10.17
.

A>сервер возвращает ответ в формате JSON

Вот буквально на прошлой неделе понадобилась плюсовая библиотека для JSON (после сишных библиотек вроде того же rapidjson, она хорошая), так нашёл недолгим гуглингом такое, я там пока readme читал, уже был уверен, что да, это то что надо. Пока удобно.
Re: http и json libraries
От: so5team https://stiffstream.com
Дата: 23.10.17 07:07
Оценка: 7 (2)
Здравствуйте, a9000, Вы писали:

A>Подскажите что есть хорошее для задачи

A>обратиться к серверу по http(s) с GET-запросом
A>сервер возвращает ответ в формате JSON
A>его нужно принять и распарсить (то есть получить какую-то итерабельную коллекцию).
A>Для http хорошо бы чтобы была поддержка сжатия.

Для работы с HTTP: libcurl, POCO, cpp-netlib, C++ REST SDK (могут быть проблемы с производительностью под Unix-ами),
Beast (будет, пожалуй, самый трудоемкий вариант).

Для работы с JSON-ом библиотек просто как грязи. Вот здесь большой перечень с результатами тестов производительности. Мы использовали RapidJSON, но т.к. ручная работа с JSON-ом -- это тот еще зашквар, то сделали небольшую нашлепку сверху. Говорят, что аналогичную степень удобства можно получить и с помощью cereal.
Re: http и json libraries
От: Skorodum Россия  
Дата: 23.10.17 13:45
Оценка:
Здравствуйте, a9000, Вы писали:

A>Никогда конкретно таким не занимался, поэтому не знаю какие есть хорошие библиотеки для этого. Кроссплатформенные с открытым кодом.


В Qt есть и http и json.
Re[2]: http и json libraries
От: SaZ  
Дата: 23.10.17 16:00
Оценка:
Здравствуйте, Skorodum, Вы писали:

S>Здравствуйте, a9000, Вы писали:


A>>Никогда конкретно таким не занимался, поэтому не знаю какие есть хорошие библиотеки для этого. Кроссплатформенные с открытым кодом.


S>В Qt есть и http и json.


Есть, но работа с json мне в Qt не нравится.
Re: http и json libraries
От: Yaroslav  
Дата: 08.01.18 11:05
Оценка:
Здравствуйте, a9000, Вы писали:

A>Подскажите что есть хорошее для задачи

A>обратиться к серверу по http(s) с GET-запросом
A>сервер возвращает ответ в формате JSON
A>его нужно принять и распарсить (то есть получить какую-то итерабельную коллекцию).
A>Для http хорошо бы чтобы была поддержка сжатия.

A>Никогда конкретно таким не занимался, поэтому не знаю какие есть хорошие библиотеки для этого. Кроссплатформенные с открытым кодом.


Попробуй boost::beast для http и jsoncpp для json
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.