Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bagder/libcurl-video-tutorials
Video tutorials for how to write internet clients using libcurl
https://github.com/bagder/libcurl-video-tutorials
client documentation http internet-protocol libcurl
Last synced: 4 months ago
JSON representation
Video tutorials for how to write internet clients using libcurl
- Host: GitHub
- URL: https://github.com/bagder/libcurl-video-tutorials
- Owner: bagder
- License: mit
- Created: 2019-11-29T15:59:41.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2022-05-11T20:24:42.000Z (over 2 years ago)
- Last Synced: 2024-09-30T02:41:00.081Z (4 months ago)
- Topics: client, documentation, http, internet-protocol, libcurl
- Language: C
- Homepage: https://bagder.github.io/libcurl-video-tutorials/
- Size: 52.7 KB
- Stars: 37
- Watchers: 7
- Forks: 6
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# libcurl video tutorials
A video tutorials series on how to write Internet applications using libcurl
with [Daniel Stenberg](https://daniel.haxx.se/), founder and lead developer of
the curl project.Each episode has a title and focused purpose. The source code used and
discussed in each episode is made available here as well as extra links and
useful materials.All code is written using C. A reasonably modern libcurl version is assumed.
Each episode is 10-15 minutes long, only occasionally longer.
## Episodes
1. [setup](setup/) [▷](https://youtu.be/DVR8N9ob_ZY) a makefile that builds our code (using Linux and gcc)
2. [global](global/) [▷](https://youtu.be/X3bq2uf0OEU) init and cleanup
1. [simplest](simplest/) [▷](https://youtu.be/Uha3JGPRIQs) possible HTTPS client code
2. [receive data](receive-data/) [▷](https://youtu.be/nbTaHEocCuo) by using a write callback
3. [verbose](verbose/) [▷](https://youtu.be/dSEd3i5X_gI) enable CURLOPT_VERBOSE to get more info
3. [head](head/) do HTTP HEAD and something about HTTP methods
3. [more protocols](more-protocols/) make the client download HTTP and FTP too (and limit protocols)
2. certificate verification for HTTPS clients
6. HTTP POST
7. HTTP PUT - with read callback
8. Modifying the HTTP request headers
8. debug callback
8. Retrieving the HTTP response code after a successful transfer
8. multi-part formpost
9. use cookies and login to a site with POST
10. different HTTP versions
11. parse URLs with libcurl
12. [to-multi](to-multi/) - convert the [simplest/](simplest/) easy interface program to using the multi interface
12. do two transfers in parallel with the multi API
13. do many parallel transfers and add new ones before all the existing are done
14. feed receive data into a content parser library
15. write a multi-threaded application using libcurl in multiple threads
16. use the share API to share data between multiple easy handles
## Concept
Each episode should be short and focused on the topic only.
Episodes will be named, not numbered, so that we can insert new ones in
between older ones if we think that suits the narrative.## Request episodes!
If you have additional ideas or thoughts of more topics and angles to cover, please [file an issue](https://github.com/bagder/libcurl-video-tutorials/issues) and explain!