[ACCEPTED]-C/C++ HTTP Client Library for Embedded Projects-client

Accepted answer
Score: 14

Have you taken a look at the HTTPClient 3 on mbed? Looks like there are lots of forks 2 of an original from a few years ago that 1 wasn't maintained. I haven't used this...

http://mbed.org/users/WiredHome/code/HTTPClient/

Score: 4

I can just describe what I used for those 31 tasks.

curl - if you are lazy, you can just 30 download in built binary and have nothing 29 to do more, it has very simple headers and 28 a lot of examples. You will need 3-4 already 27 built libraries and header. With no external 26 dependencies. So, I would count it as too 25 low-level, but not heavyweight at all.

boost.asio - very 24 interesting paradigm of realization, quite 23 easy and clean. But I would say it is low-level 22 too. Harder then curl. And needs to use boost, that 21 is external dependency you want to avoid, I 20 guess.

poco - best solution for http server. It's 19 high level, after you joined it to your 18 application, you just need to implement 17 few virtual functions, having all other 16 work (and thread management) done. Poco 15 gives a lot of stuff for application management, thread/process 14 management and it is very simple and easy, I 13 would even say it has java-like interface. Yes, there 12 is external dependency to poco, but I would 11 look at this as a chance to learn perfect 10 library. Still, for http clients it is really 9 heavy.

That is all my C++ experience with 8 HTTP. Counting you need just client and 7 don't need dependencies, I would offer you 6 to look at libcurl library. It's cross-platform, easy, no 5 dependencies and low-level enough to get 4 all you need with network. And if you will 3 have time - look at Poco, really, I believe 2 you will fell in love with this library 1 as I did. Hope that will be helpful.

Score: 3

I found another one, which just needs to 2 be packed into a lib. didn't test it, but 1 may be worth a look:

https://github.com/reagent/http.git

More Related questions