libcurl
C++ REST SDK
Our great sponsors
libcurl | C++ REST SDK | |
---|---|---|
158 | 9 | |
25,975 | 6,970 | |
1.6% | 0.7% | |
9.9 | 2.4 | |
1 day ago | about 1 month ago | |
C | C++ | |
GNU General Public License v3.0 or later | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
libcurl
- Least painful path to multiplatform builds?
-
Working in packaging sure does teach you a load of interesting but probably useless information.
Another example is curl. curl fetches or sends information from or to another computer. Seems like a small deal. Until you browse this tiny sample of who uses it. Everything from TVs, cars, nuclear fusion experiments, Playstations, mobile phone infrastructure, Microsoft Windows, printers, Spotify, Siemens telecommunications, digital photo frames and...NASA. curl is free software.
-
Ethan's Weekly Software Engineering Journal (Week of 7/24/22 - 7/30/22)
Learned about curl https://curl.se/ and played around with postman https://www.postman.com/ some more.
-
How to make scripts that detects "save as" windows?
sounds like a job for curl or wget
- Waktu Pendaftaran PSE sampai 27 Juli, Kominfo: Kalau Tidak Respons, Akses Diputus Sementara
-
Edbrowse – A Command Line Editor Browser
https://github.com/google/oss-fuzz-vulns/tree/main/vulns/cur...
https://github.com/curl/curl/commit/68ffe6c17d6e44b459d60805...
https://www.cvedetails.com/product/25084/Haxx-Curl.html?vend...
Instead of only "thinking a lot about text-based browsers", I have been actively using them on a daily basis for the past 26 years.
Make of this what you will as I am a dumb end user not a genius "developer". I am glad that Links does not use libcurl and that it has its own "bespoke" HTML rendering. In all this time, I still have yet to see any other program produce better rendering of HTML tables as text. I have had few if any problems with Links versions. I am quite good at "breaking" software and for me Links has been quite robust. The source code is readable for me and I have been able to change or "fix" things I do not like, then quickly recompile. Recently I fixed a version of the program so that a certain semantic link would not be shown in Wikipedia pages. No "browser extension" required.
Links' rendering has managed to keep up with the evolution of HTML and web design sufficiently for me. Despite the enormous variation in HTML acrosse the www, there are very few cases where the rendering is unsatisfactory.^1 I cannot say the same for other attempts at text-only clients. W3C's libwww-based line-mode browser still compiles and works,^2 although I would not be satisifed with its rendering. Nor would I be satisfied with edbrowse, or something simpler such as mynx.^3
I use Links primarily for reading and printing HTML. I use a variety of TCP clients for making HTTP requests, including djb's tcpclient which I am quite sure beats libcurl any day of the week in terms quality, e.g., the programming skill level of the author and the care with which it was written. This non-libcurl networking code is relatively small and does not need oss-fuzz. I do not intentionally use libcurl. It is too large and complex for my tastes. For TLS, I mainly use stunnel and haproxy.
1. One rare example I can recall is https://archive.is
-
Linking External Libraries When Exporting JUCE Projects into Xcode
I discovered this the hard way. I decided to use the Projucer to export my audio plug-in project into Xcode. While trying to link curl for cpp and base64 into my project, I found it wouldn't build! I needed to link both of these libraries to be able to use Dolby.io's Media APIs within a C++ environment. At first, I tried to add the build instructions directly into Xcode, but I found that the settings were not saving each time I launched my project, that's when I found out the Projucer handles all the build instructions for you.
-
Request Spec Realistic Error Response
This test does not pass! Not because we're TDD-ing this and the implementation doesn't exist. The endpoint does respond as expected if you hit it from curl or another way.
-
External Debugging Tools 1: dtrace and strace
E.g. tools like curl or jq are remarkably useful. You can/should use them while debugging. But you probably used them while building and testing the feature. So you would already be familiar with them and should have some sense of what they do. I want to focus on tools that you would mostly reach for when debugging. In that sense, tools like SDKMan etc. also make no sense here.
-
Using Hoppscotch to test REST APIs
After messing with curl, I felt the need to have some friendlier way to test the API, besides writing some shell scripts or Python code, so non-technical people could also test with ease. Hoppscotch came to the rescue.
C++ REST SDK
-
REST library: production 'ready'
https://github.com/microsoft/cpprestsdk (concerned about being maintenance mode -> production?)
-
Have there been any attempts to build a REST API service on top of either Boost.asio or Boost.beast?
While it's not based on Boost Asio or Beast, Microsoft maintains a SDK for developing REST api's using C++, aptly named the C++ REST SDK. Here you can find the Github page. It pretty much covers everything you'd come to expect from a modern webserver package. It does come with a steep learning curve however.
-
Microsoft YARP
I never thought I'd laud microsoft on open source software but this has certainly made my life easier... I mean come on, MIT licensed and everything...
-
Web services in C++
Assuming you want to make a REST API check this out: https://github.com/Microsoft/cpprestsdk
-
Thriving in a Crowded and Changing World: C++ 2006–2020 [pdf]
>But is it truly practical to use in 'higher-abstraction' apps like web or mobile?
Yes absolutely. Once you become familiar with the language the barrier is not that high. Familiarity trumps everything else.
That said, since i am not a Web/mobile developer i had collected some resources to help me learn how to use C++ for Web/Mobile apps, you may find it useful;
https://levelup.gitconnected.com/cross-platform-mobile-and-w...
https://github.com/Microsoft/cpprestsdk
https://medium.com/@ivan.mejia/modern-c-micro-service-implem...
-
cpprestsdk in maintenance mode
I was starting a project that needs to read data with rest API and I'd like to use cpprestsdk from Microsoft. But it's readme says that's in maintenance mode and it's not recommended for new projects... I'd like to know why it's in maintenance mode, and if it will be abandoned. Also, if there's some equivalent library for cpp, instead of creating the business logic from scratch, i.e. with boost::beast.
-
How to use C++ as backend
So, if you're going that route, you can use one of the many HTTP wrappers around Boost::ASIO or something purpose-built like Pistache or Casablanca.
- Good resources for linking two languages
What are some alternatives?
Boost.Beast - HTTP and WebSocket built on Boost.Asio in C++11
Restbed - Corvusoft's Restbed framework brings asynchronous RESTful functionality to C++14 applications.
POCO - The POCO C++ Libraries are powerful cross-platform C++ libraries for building network- and internet-based applications that run on desktop, server, mobile, IoT, and embedded systems.
Simple-WebSocket-Server
libwebsockets - canonical libwebsockets.org networking library
cpr - C++ Requests: Curl for People, a spiritual port of Python Requests.
Proxygen - A collection of C++ HTTP libraries including an easy to use HTTP server.
drogon - Drogon: A C++14/17 based HTTP web application framework running on Linux/macOS/Unix/Windows [Moved to: https://github.com/drogonframework/drogon]
cpp-httplib - A C++ header-only HTTP/HTTPS server and client library