#libcurl — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #libcurl, aggregated by home.social.
-
Thank you for the reaction
Regretfully I have to inform you that your detector is flawed. Any errors and mistakes you've found are all from my brains.
Have a wonderful day
#curl #programming #mathematics #linear #algebra #libcurl #Linux #BSD #freeBSD #openBSD #netBSD #POSIX #bash #csh #ksh #sh #fish #radio #TV #smartTV #router
-
Thank you for the reaction
Regretfully I have to inform you that your detector is flawed. Any errors and mistakes you've found are all from my brains.
Have a wonderful day
#curl #programming #mathematics #linear #algebra #libcurl #Linux #BSD #freeBSD #openBSD #netBSD #POSIX #bash #csh #ksh #sh #fish #radio #TV #smartTV #router
-
Thank you for the reaction
Regretfully I have to inform you that your detector is flawed. Any errors and mistakes you've found are all from my brains.
Have a wonderful day
#curl #programming #mathematics #linear #algebra #libcurl #Linux #BSD #freeBSD #openBSD #netBSD #POSIX #bash #csh #ksh #sh #fish #radio #TV #smartTV #router
-
Thank you for the reaction
Regretfully I have to inform you that your detector is flawed. Any errors and mistakes you've found are all from my brains.
Have a wonderful day
#curl #programming #mathematics #linear #algebra #libcurl #Linux #BSD #freeBSD #openBSD #netBSD #POSIX #bash #csh #ksh #sh #fish #radio #TV #smartTV #router
-
Thank you for the reaction
Regretfully I have to inform you that your detector is flawed. Any errors and mistakes you've found are all from my brains.
Have a wonderful day
#curl #programming #mathematics #linear #algebra #libcurl #Linux #BSD #freeBSD #openBSD #netBSD #POSIX #bash #csh #ksh #sh #fish #radio #TV #smartTV #router
-
curl
Daniël Stenberg
facts and praise
I'm fortunate that I am allowed to follow Daniël, lead programmer of the mighty
curl. The reason I formulated the line in this way, is because only through the power of the FediVerse I've gotten a boost from someone I follow, who found a post of the lead programmer or curl interestingstats:
install base => 20000*106 devices
20 billion+ installations!
curlis used in command lines or scripts to transfer data. curl is alsolibcurl, used in:- cars
- television sets
- routers
- printers
- audio equipment
- mobile phones
- tablets
- medical devices
- settop boxes
- computer games
- media players
Curl is THE Internet transfer engine for countless software applications in over twenty billion installations!
curl is used daily by virtually every Internet-using human on the globe!
curl is 30 years old
Let that sink in!
Opinion
curlis mature critical network infrastructure software that we all need to have our internet powered software / hardware to function in respect to data transfer.The syntax to use
curlin simple implementations is IMHO quite easy. In case you need to know an extra option, the executable andlibcurlhave excellent documentation. End users normally interact withcurlusing the (elf) binary on Linux based POSIX operating systems. The more mature BSDs have another binary formatJust type
curlto get an initial output which looks like this on my current systemcurl
curl: try 'curl --help' or 'curl --manual' for more informationthen type
curl --help
Usage: curl [options...] <url>
-d, --data <data> HTTP POST data
-f, --fail Fail fast with no output on HTTP errors
-h, --help <subject> Get help for commands
-o, --output <file> Write to file instead of stdout
-O, --remote-name Write output to file named as remote file
-i, --show-headers Show response headers in output
-s, --silent Silent mode
-T, --upload-file <file> Transfer local FILE to destination
-u, --user <user:password> Server user and password
-A, --user-agent <name> Send User-Agent <name> to server
-v, --verbose Make the operation more talkative
-V, --version Show version number and quit
This is not the full help; this menu is split into categories.
Use "--help category" to get an overview of all categories, which are:
auth, connection, curl, deprecated, dns, file, ftp, global, http, imap, ldap, output, pop3, post, proxy,
scp, sftp, smtp, ssh, telnet, tftp, timeout, tls, upload, verbose.
Use "--help all" to list all options
Use "--help [option]" to view documentation for a given optionWhen you type
curl --manual|lessyou get the manpages which I delimited withlessthrough a vertical pipe_ _ ____ _
___| | | | _ \| |
/ __| | | | |_) | |
| (__| |_| | _ <| |___
\___|\___/|_| \_\_____|
NAME
curl - transfer a URL
SYNOPSIS
curl [options / URLs]
DESCRIPTION
curl is a tool for transferring data from or to a server using URLs. It
supports these protocols: DICT, FILE, FTP, FTPS, GOPHER, GOPHERS, HTTP,
HTTPS, IMAP, IMAPS, LDAP, LDAPS, MQTT, POP3, POP3S, RTMP, RTMPS, RTSP,
SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET, TFTP, WS and WSS.
curl is powered by libcurl for all transfer-related features. See
libcurl(3) for details.
URL
The URL syntax is protocol-dependent. You find a detailed description in
RFC 3986.I can also type
man curlto get a nice output:curl(1) curl Manual curl(1)
NAME
curl - transfer a URL
SYNOPSIS
curl [options / URLs]
DESCRIPTION
curl is a tool for transferring data from or to a server using URLs. It supports these protocols:
DICT, FILE, FTP, FTPS, GOPHER, GOPHERS, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, MQTT, POP3, POP3S,
RTMP, RTMPS, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET, TFTP, WS and WSS.
curl is powered by libcurl for all transfer-related features. See libcurl(3) for details.
URL
The URL syntax is protocol-dependent. You find a detailed description in RFC 3986.
If you provide a URL without a leading protocol:// scheme, curl guesses what protocol you want. It
then defaults to HTTP but assumes others based on often-used hostname prefixes. For example, for
hostnames starting with "ftp." curl assumes you want FTP.
You can specify any amount of URLs on the command line. They are fetched in a sequential manner in
the specified order unless you use -Z, --parallel. You can specify command line options and URLs
Manual page curl(1) line 1 (press h for help or q to quit)The reasoning behind curl --manual is simple. On a machine without the manual system you still need access to the full manual. This is one of the reasons why
man curlis also implemented ascurl --manualAn important RFC is echoed to my terminal in the
man curloutput which is RFC 3986A Uniform Resource Identifier (URI) is a compact sequence of
characters that identifies an abstract or physical resource. This
specification defines the generic URI syntax and a process for
resolving URI references that might be in relative form, along with
guidelines and security considerations for the use of URIs on the
Internet. The URI syntax defines a grammar that is a superset of all
valid URIs, allowing an implementation to parse the common components
of a URI reference without knowing the scheme-specific requirements
of every possible identifier. This specification does not define a
generative grammar for URIs; that task is performed by the individual
specifications of each URI scheme.I shall not quote the whole RFC 3986 here. You can read all about it on the RFC site (see sources)
As you can see
curlis thorougly documented, has all the features a simple end user needs to fetch all kind of data, scaled up all the way to the extensive complex features router hardware et all, needs to transfer data.programming route
I came to this toot when I saw that certain external feature code, which lives in stable external libraries, is now being removed from curl. I should say the code is depreciated then phased out.
This is a logical step
- It takes resources to maintain external code
- If the (shared) libraries are stable and mature, it's much better to just call those libraries and be done.
- The more external code you can remove from your project the better it is for all the programmers
The same is also happening in the Linux kernel, they are following in the footsteps of curl
Conclusion
There is a treasure trove of information in the sources. Just reading the pages on RFC 3986 will keep you occupied for hours.
Have fun and keep reading / learning and programming!sources:
https://www.rfc-editor.org/rfc/rfc3986
https://curl.se/mail/lib-2026-03/0026.html
#curl #programming #mathematics #linear #algebra #libcurl #Linux #BSD #freeBSD #openBSD #netBSD #POSIX #bash #csh #ksh #sh #fish #radio #TV #smartTV #router
-
curl
Daniël Stenberg
facts and praise
I'm fortunate that I am allowed to follow Daniël, lead programmer of the mighty
curl. The reason I formulated the line in this way, is because only through the power of the FediVerse I've gotten a boost from someone I follow, who found a post of the lead programmer or curl interestingstats:
install base => 20000*106 devices
20 billion+ installations!
curlis used in command lines or scripts to transfer data. curl is alsolibcurl, used in:- cars
- television sets
- routers
- printers
- audio equipment
- mobile phones
- tablets
- medical devices
- settop boxes
- computer games
- media players
Curl is THE Internet transfer engine for countless software applications in over twenty billion installations!
curl is used daily by virtually every Internet-using human on the globe!
curl is 30 years old
Let that sink in!
Opinion
curlis mature critical network infrastructure software that we all need to have our internet powered software / hardware to function in respect to data transfer.The syntax to use
curlin simple implementations is IMHO quite easy. In case you need to know an extra option, the executable andlibcurlhave excellent documentation. End users normally interact withcurlusing the (elf) binary on Linux based POSIX operating systems. The more mature BSDs have another binary formatJust type
curlto get an initial output which looks like this on my current systemcurl
curl: try 'curl --help' or 'curl --manual' for more informationthen type
curl --help
Usage: curl [options...] <url>
-d, --data <data> HTTP POST data
-f, --fail Fail fast with no output on HTTP errors
-h, --help <subject> Get help for commands
-o, --output <file> Write to file instead of stdout
-O, --remote-name Write output to file named as remote file
-i, --show-headers Show response headers in output
-s, --silent Silent mode
-T, --upload-file <file> Transfer local FILE to destination
-u, --user <user:password> Server user and password
-A, --user-agent <name> Send User-Agent <name> to server
-v, --verbose Make the operation more talkative
-V, --version Show version number and quit
This is not the full help; this menu is split into categories.
Use "--help category" to get an overview of all categories, which are:
auth, connection, curl, deprecated, dns, file, ftp, global, http, imap, ldap, output, pop3, post, proxy,
scp, sftp, smtp, ssh, telnet, tftp, timeout, tls, upload, verbose.
Use "--help all" to list all options
Use "--help [option]" to view documentation for a given optionWhen you type
curl --manual|lessyou get the manpages which I delimited withlessthrough a vertical pipe_ _ ____ _
___| | | | _ \| |
/ __| | | | |_) | |
| (__| |_| | _ <| |___
\___|\___/|_| \_\_____|
NAME
curl - transfer a URL
SYNOPSIS
curl [options / URLs]
DESCRIPTION
curl is a tool for transferring data from or to a server using URLs. It
supports these protocols: DICT, FILE, FTP, FTPS, GOPHER, GOPHERS, HTTP,
HTTPS, IMAP, IMAPS, LDAP, LDAPS, MQTT, POP3, POP3S, RTMP, RTMPS, RTSP,
SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET, TFTP, WS and WSS.
curl is powered by libcurl for all transfer-related features. See
libcurl(3) for details.
URL
The URL syntax is protocol-dependent. You find a detailed description in
RFC 3986.I can also type
man curlto get a nice output:curl(1) curl Manual curl(1)
NAME
curl - transfer a URL
SYNOPSIS
curl [options / URLs]
DESCRIPTION
curl is a tool for transferring data from or to a server using URLs. It supports these protocols:
DICT, FILE, FTP, FTPS, GOPHER, GOPHERS, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, MQTT, POP3, POP3S,
RTMP, RTMPS, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET, TFTP, WS and WSS.
curl is powered by libcurl for all transfer-related features. See libcurl(3) for details.
URL
The URL syntax is protocol-dependent. You find a detailed description in RFC 3986.
If you provide a URL without a leading protocol:// scheme, curl guesses what protocol you want. It
then defaults to HTTP but assumes others based on often-used hostname prefixes. For example, for
hostnames starting with "ftp." curl assumes you want FTP.
You can specify any amount of URLs on the command line. They are fetched in a sequential manner in
the specified order unless you use -Z, --parallel. You can specify command line options and URLs
Manual page curl(1) line 1 (press h for help or q to quit)The reasoning behind curl --manual is simple. On a machine without the manual system you still need access to the full manual. This is one of the reasons why
man curlis also implemented ascurl --manualAn important RFC is echoed to my terminal in the
man curloutput which is RFC 3986A Uniform Resource Identifier (URI) is a compact sequence of
characters that identifies an abstract or physical resource. This
specification defines the generic URI syntax and a process for
resolving URI references that might be in relative form, along with
guidelines and security considerations for the use of URIs on the
Internet. The URI syntax defines a grammar that is a superset of all
valid URIs, allowing an implementation to parse the common components
of a URI reference without knowing the scheme-specific requirements
of every possible identifier. This specification does not define a
generative grammar for URIs; that task is performed by the individual
specifications of each URI scheme.I shall not quote the whole RFC 3986 here. You can read all about it on the RFC site (see sources)
As you can see
curlis thorougly documented, has all the features a simple end user needs to fetch all kind of data, scaled up all the way to the extensive complex features router hardware et all, needs to transfer data.programming route
I came to this toot when I saw that certain external feature code, which lives in stable external libraries, is now being removed from curl. I should say the code is depreciated then phased out.
This is a logical step
- It takes resources to maintain external code
- If the (shared) libraries are stable and mature, it's much better to just call those libraries and be done.
- The more external code you can remove from your project the better it is for all the programmers
The same is also happening in the Linux kernel, they are following in the footsteps of curl
Conclusion
There is a treasure trove of information in the sources. Just reading the pages on RFC 3986 will keep you occupied for hours.
Have fun and keep reading / learning and programming!sources:
https://www.rfc-editor.org/rfc/rfc3986
https://curl.se/mail/lib-2026-03/0026.html
#curl #programming #mathematics #linear #algebra #libcurl #Linux #BSD #freeBSD #openBSD #netBSD #POSIX #bash #csh #ksh #sh #fish #radio #TV #smartTV #router
-
curl
Daniël Stenberg
facts and praise
I'm fortunate that I am allowed to follow Daniël, lead programmer of the mighty
curl. The reason I formulated the line in this way, is because only through the power of the FediVerse I've gotten a boost from someone I follow, who found a post of the lead programmer or curl interestingstats:
install base => 20000*106 devices
20 billion+ installations!
curlis used in command lines or scripts to transfer data. curl is alsolibcurl, used in:- cars
- television sets
- routers
- printers
- audio equipment
- mobile phones
- tablets
- medical devices
- settop boxes
- computer games
- media players
Curl is THE Internet transfer engine for countless software applications in over twenty billion installations!
curl is used daily by virtually every Internet-using human on the globe!
curl is 30 years old
Let that sink in!
Opinion
curlis mature critical network infrastructure software that we all need to have our internet powered software / hardware to function in respect to data transfer.The syntax to use
curlin simple implementations is IMHO quite easy. In case you need to know an extra option, the executable andlibcurlhave excellent documentation. End users normally interact withcurlusing the (elf) binary on Linux based POSIX operating systems. The more mature BSDs have another binary formatJust type
curlto get an initial output which looks like this on my current systemcurl
curl: try 'curl --help' or 'curl --manual' for more informationthen type
curl --help
Usage: curl [options...] <url>
-d, --data <data> HTTP POST data
-f, --fail Fail fast with no output on HTTP errors
-h, --help <subject> Get help for commands
-o, --output <file> Write to file instead of stdout
-O, --remote-name Write output to file named as remote file
-i, --show-headers Show response headers in output
-s, --silent Silent mode
-T, --upload-file <file> Transfer local FILE to destination
-u, --user <user:password> Server user and password
-A, --user-agent <name> Send User-Agent <name> to server
-v, --verbose Make the operation more talkative
-V, --version Show version number and quit
This is not the full help; this menu is split into categories.
Use "--help category" to get an overview of all categories, which are:
auth, connection, curl, deprecated, dns, file, ftp, global, http, imap, ldap, output, pop3, post, proxy,
scp, sftp, smtp, ssh, telnet, tftp, timeout, tls, upload, verbose.
Use "--help all" to list all options
Use "--help [option]" to view documentation for a given optionWhen you type
curl --manual|lessyou get the manpages which I delimited withlessthrough a vertical pipe_ _ ____ _
___| | | | _ \| |
/ __| | | | |_) | |
| (__| |_| | _ <| |___
\___|\___/|_| \_\_____|
NAME
curl - transfer a URL
SYNOPSIS
curl [options / URLs]
DESCRIPTION
curl is a tool for transferring data from or to a server using URLs. It
supports these protocols: DICT, FILE, FTP, FTPS, GOPHER, GOPHERS, HTTP,
HTTPS, IMAP, IMAPS, LDAP, LDAPS, MQTT, POP3, POP3S, RTMP, RTMPS, RTSP,
SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET, TFTP, WS and WSS.
curl is powered by libcurl for all transfer-related features. See
libcurl(3) for details.
URL
The URL syntax is protocol-dependent. You find a detailed description in
RFC 3986.I can also type
man curlto get a nice output:curl(1) curl Manual curl(1)
NAME
curl - transfer a URL
SYNOPSIS
curl [options / URLs]
DESCRIPTION
curl is a tool for transferring data from or to a server using URLs. It supports these protocols:
DICT, FILE, FTP, FTPS, GOPHER, GOPHERS, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, MQTT, POP3, POP3S,
RTMP, RTMPS, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET, TFTP, WS and WSS.
curl is powered by libcurl for all transfer-related features. See libcurl(3) for details.
URL
The URL syntax is protocol-dependent. You find a detailed description in RFC 3986.
If you provide a URL without a leading protocol:// scheme, curl guesses what protocol you want. It
then defaults to HTTP but assumes others based on often-used hostname prefixes. For example, for
hostnames starting with "ftp." curl assumes you want FTP.
You can specify any amount of URLs on the command line. They are fetched in a sequential manner in
the specified order unless you use -Z, --parallel. You can specify command line options and URLs
Manual page curl(1) line 1 (press h for help or q to quit)The reasoning behind curl --manual is simple. On a machine without the manual system you still need access to the full manual. This is one of the reasons why
man curlis also implemented ascurl --manualAn important RFC is echoed to my terminal in the
man curloutput which is RFC 3986A Uniform Resource Identifier (URI) is a compact sequence of
characters that identifies an abstract or physical resource. This
specification defines the generic URI syntax and a process for
resolving URI references that might be in relative form, along with
guidelines and security considerations for the use of URIs on the
Internet. The URI syntax defines a grammar that is a superset of all
valid URIs, allowing an implementation to parse the common components
of a URI reference without knowing the scheme-specific requirements
of every possible identifier. This specification does not define a
generative grammar for URIs; that task is performed by the individual
specifications of each URI scheme.I shall not quote the whole RFC 3986 here. You can read all about it on the RFC site (see sources)
As you can see
curlis thorougly documented, has all the features a simple end user needs to fetch all kind of data, scaled up all the way to the extensive complex features router hardware et all, needs to transfer data.programming route
I came to this toot when I saw that certain external feature code, which lives in stable external libraries, is now being removed from curl. I should say the code is depreciated then phased out.
This is a logical step
- It takes resources to maintain external code
- If the (shared) libraries are stable and mature, it's much better to just call those libraries and be done.
- The more external code you can remove from your project the better it is for all the programmers
The same is also happening in the Linux kernel, they are following in the footsteps of curl
Conclusion
There is a treasure trove of information in the sources. Just reading the pages on RFC 3986 will keep you occupied for hours.
Have fun and keep reading / learning and programming!sources:
https://www.rfc-editor.org/rfc/rfc3986
https://curl.se/mail/lib-2026-03/0026.html
#curl #programming #mathematics #linear #algebra #libcurl #Linux #BSD #freeBSD #openBSD #netBSD #POSIX #bash #csh #ksh #sh #fish #radio #TV #smartTV #router
-
curl
Daniël Stenberg
facts and praise
I'm fortunate that I am allowed to follow Daniël, lead programmer of the mighty
curl. The reason I formulated the line in this way, is because only through the power of the FediVerse I've gotten a boost from someone I follow, who found a post of the lead programmer or curl interestingstats:
install base => 20000*106 devices
20 billion+ installations!
curlis used in command lines or scripts to transfer data. curl is alsolibcurl, used in:- cars
- television sets
- routers
- printers
- audio equipment
- mobile phones
- tablets
- medical devices
- settop boxes
- computer games
- media players
Curl is THE Internet transfer engine for countless software applications in over twenty billion installations!
curl is used daily by virtually every Internet-using human on the globe!
curl is 30 years old
Let that sink in!
Opinion
curlis mature critical network infrastructure software that we all need to have our internet powered software / hardware to function in respect to data transfer.The syntax to use
curlin simple implementations is IMHO quite easy. In case you need to know an extra option, the executable andlibcurlhave excellent documentation. End users normally interact withcurlusing the (elf) binary on Linux based POSIX operating systems. The more mature BSDs have another binary formatJust type
curlto get an initial output which looks like this on my current systemcurl
curl: try 'curl --help' or 'curl --manual' for more informationthen type
curl --help
Usage: curl [options...] <url>
-d, --data <data> HTTP POST data
-f, --fail Fail fast with no output on HTTP errors
-h, --help <subject> Get help for commands
-o, --output <file> Write to file instead of stdout
-O, --remote-name Write output to file named as remote file
-i, --show-headers Show response headers in output
-s, --silent Silent mode
-T, --upload-file <file> Transfer local FILE to destination
-u, --user <user:password> Server user and password
-A, --user-agent <name> Send User-Agent <name> to server
-v, --verbose Make the operation more talkative
-V, --version Show version number and quit
This is not the full help; this menu is split into categories.
Use "--help category" to get an overview of all categories, which are:
auth, connection, curl, deprecated, dns, file, ftp, global, http, imap, ldap, output, pop3, post, proxy,
scp, sftp, smtp, ssh, telnet, tftp, timeout, tls, upload, verbose.
Use "--help all" to list all options
Use "--help [option]" to view documentation for a given optionWhen you type
curl --manual|lessyou get the manpages which I delimited withlessthrough a vertical pipe_ _ ____ _
___| | | | _ \| |
/ __| | | | |_) | |
| (__| |_| | _ <| |___
\___|\___/|_| \_\_____|
NAME
curl - transfer a URL
SYNOPSIS
curl [options / URLs]
DESCRIPTION
curl is a tool for transferring data from or to a server using URLs. It
supports these protocols: DICT, FILE, FTP, FTPS, GOPHER, GOPHERS, HTTP,
HTTPS, IMAP, IMAPS, LDAP, LDAPS, MQTT, POP3, POP3S, RTMP, RTMPS, RTSP,
SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET, TFTP, WS and WSS.
curl is powered by libcurl for all transfer-related features. See
libcurl(3) for details.
URL
The URL syntax is protocol-dependent. You find a detailed description in
RFC 3986.I can also type
man curlto get a nice output:curl(1) curl Manual curl(1)
NAME
curl - transfer a URL
SYNOPSIS
curl [options / URLs]
DESCRIPTION
curl is a tool for transferring data from or to a server using URLs. It supports these protocols:
DICT, FILE, FTP, FTPS, GOPHER, GOPHERS, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, MQTT, POP3, POP3S,
RTMP, RTMPS, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET, TFTP, WS and WSS.
curl is powered by libcurl for all transfer-related features. See libcurl(3) for details.
URL
The URL syntax is protocol-dependent. You find a detailed description in RFC 3986.
If you provide a URL without a leading protocol:// scheme, curl guesses what protocol you want. It
then defaults to HTTP but assumes others based on often-used hostname prefixes. For example, for
hostnames starting with "ftp." curl assumes you want FTP.
You can specify any amount of URLs on the command line. They are fetched in a sequential manner in
the specified order unless you use -Z, --parallel. You can specify command line options and URLs
Manual page curl(1) line 1 (press h for help or q to quit)The reasoning behind curl --manual is simple. On a machine without the manual system you still need access to the full manual. This is one of the reasons why
man curlis also implemented ascurl --manualAn important RFC is echoed to my terminal in the
man curloutput which is RFC 3986A Uniform Resource Identifier (URI) is a compact sequence of
characters that identifies an abstract or physical resource. This
specification defines the generic URI syntax and a process for
resolving URI references that might be in relative form, along with
guidelines and security considerations for the use of URIs on the
Internet. The URI syntax defines a grammar that is a superset of all
valid URIs, allowing an implementation to parse the common components
of a URI reference without knowing the scheme-specific requirements
of every possible identifier. This specification does not define a
generative grammar for URIs; that task is performed by the individual
specifications of each URI scheme.I shall not quote the whole RFC 3986 here. You can read all about it on the RFC site (see sources)
As you can see
curlis thorougly documented, has all the features a simple end user needs to fetch all kind of data, scaled up all the way to the extensive complex features router hardware et all, needs to transfer data.programming route
I came to this toot when I saw that certain external feature code, which lives in stable external libraries, is now being removed from curl. I should say the code is depreciated then phased out.
This is a logical step
- It takes resources to maintain external code
- If the (shared) libraries are stable and mature, it's much better to just call those libraries and be done.
- The more external code you can remove from your project the better it is for all the programmers
The same is also happening in the Linux kernel, they are following in the footsteps of curl
Conclusion
There is a treasure trove of information in the sources. Just reading the pages on RFC 3986 will keep you occupied for hours.
Have fun and keep reading / learning and programming!sources:
https://www.rfc-editor.org/rfc/rfc3986
https://curl.se/mail/lib-2026-03/0026.html
#curl #programming #mathematics #linear #algebra #libcurl #Linux #BSD #freeBSD #openBSD #netBSD #POSIX #bash #csh #ksh #sh #fish #radio #TV #smartTV #router
-
curl
Daniël Stenberg
facts and praise
I'm fortunate that I am allowed to follow Daniël, lead programmer of the mighty
curl. The reason I formulated the line in this way, is because only through the power of the FediVerse I've gotten a boost from someone I follow, who found a post of the lead programmer or curl interestingstats:
install base => 20000*106 devices
20 billion+ installations!
curlis used in command lines or scripts to transfer data. curl is alsolibcurl, used in:- cars
- television sets
- routers
- printers
- audio equipment
- mobile phones
- tablets
- medical devices
- settop boxes
- computer games
- media players
Curl is THE Internet transfer engine for countless software applications in over twenty billion installations!
curl is used daily by virtually every Internet-using human on the globe!
curl is 30 years old
Let that sink in!
Opinion
curlis mature critical network infrastructure software that we all need to have our internet powered software / hardware to function in respect to data transfer.The syntax to use
curlin simple implementations is IMHO quite easy. In case you need to know an extra option, the executable andlibcurlhave excellent documentation. End users normally interact withcurlusing the (elf) binary on Linux based POSIX operating systems. The more mature BSDs have another binary formatJust type
curlto get an initial output which looks like this on my current systemcurl
curl: try 'curl --help' or 'curl --manual' for more informationthen type
curl --help
Usage: curl [options...] <url>
-d, --data <data> HTTP POST data
-f, --fail Fail fast with no output on HTTP errors
-h, --help <subject> Get help for commands
-o, --output <file> Write to file instead of stdout
-O, --remote-name Write output to file named as remote file
-i, --show-headers Show response headers in output
-s, --silent Silent mode
-T, --upload-file <file> Transfer local FILE to destination
-u, --user <user:password> Server user and password
-A, --user-agent <name> Send User-Agent <name> to server
-v, --verbose Make the operation more talkative
-V, --version Show version number and quit
This is not the full help; this menu is split into categories.
Use "--help category" to get an overview of all categories, which are:
auth, connection, curl, deprecated, dns, file, ftp, global, http, imap, ldap, output, pop3, post, proxy,
scp, sftp, smtp, ssh, telnet, tftp, timeout, tls, upload, verbose.
Use "--help all" to list all options
Use "--help [option]" to view documentation for a given optionWhen you type
curl --manual|lessyou get the manpages which I delimited withlessthrough a vertical pipe_ _ ____ _
___| | | | _ \| |
/ __| | | | |_) | |
| (__| |_| | _ <| |___
\___|\___/|_| \_\_____|
NAME
curl - transfer a URL
SYNOPSIS
curl [options / URLs]
DESCRIPTION
curl is a tool for transferring data from or to a server using URLs. It
supports these protocols: DICT, FILE, FTP, FTPS, GOPHER, GOPHERS, HTTP,
HTTPS, IMAP, IMAPS, LDAP, LDAPS, MQTT, POP3, POP3S, RTMP, RTMPS, RTSP,
SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET, TFTP, WS and WSS.
curl is powered by libcurl for all transfer-related features. See
libcurl(3) for details.
URL
The URL syntax is protocol-dependent. You find a detailed description in
RFC 3986.I can also type
man curlto get a nice output:curl(1) curl Manual curl(1)
NAME
curl - transfer a URL
SYNOPSIS
curl [options / URLs]
DESCRIPTION
curl is a tool for transferring data from or to a server using URLs. It supports these protocols:
DICT, FILE, FTP, FTPS, GOPHER, GOPHERS, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, MQTT, POP3, POP3S,
RTMP, RTMPS, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET, TFTP, WS and WSS.
curl is powered by libcurl for all transfer-related features. See libcurl(3) for details.
URL
The URL syntax is protocol-dependent. You find a detailed description in RFC 3986.
If you provide a URL without a leading protocol:// scheme, curl guesses what protocol you want. It
then defaults to HTTP but assumes others based on often-used hostname prefixes. For example, for
hostnames starting with "ftp." curl assumes you want FTP.
You can specify any amount of URLs on the command line. They are fetched in a sequential manner in
the specified order unless you use -Z, --parallel. You can specify command line options and URLs
Manual page curl(1) line 1 (press h for help or q to quit)The reasoning behind curl --manual is simple. On a machine without the manual system you still need access to the full manual. This is one of the reasons why
man curlis also implemented ascurl --manualAn important RFC is echoed to my terminal in the
man curloutput which is RFC 3986A Uniform Resource Identifier (URI) is a compact sequence of
characters that identifies an abstract or physical resource. This
specification defines the generic URI syntax and a process for
resolving URI references that might be in relative form, along with
guidelines and security considerations for the use of URIs on the
Internet. The URI syntax defines a grammar that is a superset of all
valid URIs, allowing an implementation to parse the common components
of a URI reference without knowing the scheme-specific requirements
of every possible identifier. This specification does not define a
generative grammar for URIs; that task is performed by the individual
specifications of each URI scheme.I shall not quote the whole RFC 3986 here. You can read all about it on the RFC site (see sources)
As you can see
curlis thorougly documented, has all the features a simple end user needs to fetch all kind of data, scaled up all the way to the extensive complex features router hardware et all, needs to transfer data.programming route
I came to this toot when I saw that certain external feature code, which lives in stable external libraries, is now being removed from curl. I should say the code is depreciated then phased out.
This is a logical step
- It takes resources to maintain external code
- If the (shared) libraries are stable and mature, it's much better to just call those libraries and be done.
- The more external code you can remove from your project the better it is for all the programmers
The same is also happening in the Linux kernel, they are following in the footsteps of curl
Conclusion
There is a treasure trove of information in the sources. Just reading the pages on RFC 3986 will keep you occupied for hours.
Have fun and keep reading / learning and programming!sources:
https://www.rfc-editor.org/rfc/rfc3986
https://curl.se/mail/lib-2026-03/0026.html
#curl #programming #mathematics #linear #algebra #libcurl #Linux #BSD #freeBSD #openBSD #netBSD #POSIX #bash #csh #ksh #sh #fish #radio #TV #smartTV #router
-
Most people try to build one “perfect” project.
I’m doing 100, inspired by Visakan Veerasamy "do 100 things" (https://makingmeaning.in/article/do-100-things?utm_source=chatgpt.com)
This curl source code explorer is one rep—vibe coded, imperfect, but sharper than the last.
The goal isn’t the tool.
It’s pattern recognition.Do the reps → stop optimizing outputs
and start understanding systems.https://mrdee.in/writing/vibecoding-005-curl_source_code_explorer/
#curl #libcurl #DanielStenberg #OpenSource #VibeCoding #BuildInPublic #Do100Things
-
Current weather in Kwamalasemutu SR SA with the grace of wttr.in curl {ba{c{k{z{fi}}}}}sh and the cool lolcat
Background photograph a Sluis (NL) composed Sepia in Commewijne SR SA
>> log
$ curl --verbose wttr.in/kwamalasemutu|lolcat
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 5.9.243.187:80...
* Connected to wttr.in (5.9.243.187) port 80 (#0)
> GET /kwamalasemutu HTTP/1.1
> Host: wttr.in
> User-Agent: curl/7.88.1
> Accept: */*
>
< HTTP/1.1 200 OK
< Access-Control-Allow-Origin: *
< Content-Length: 9156
< Content-Type: text/plain; charset=utf-8
< Date: Sun, 15 Feb 2026 22:26:13 GMT
<
{ [2569 bytes data]
100 9156 100 9156 0 0 7320 0 0:00:01 0:00:01 --:--:-- 7318
* Connection #0 to host wttr.in left intact^Z
#weather #wttr #curl #libcurl #programming #technology #bash #csh #ksh #zsh #fish #sh #networking #http #ports #OpenSource #POSIX #Physics #Chemistry #Lineair #Algebra #Mathematics #Logic #Mobile #Kwamalasemutu
-
Current weather in Kwamalasemutu SR SA with the grace of wttr.in curl {ba{c{k{z{fi}}}}}sh and the cool lolcat
Background photograph a Sluis (NL) composed Sepia in Commewijne SR SA
>> log
$ curl --verbose wttr.in/kwamalasemutu|lolcat
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 5.9.243.187:80...
* Connected to wttr.in (5.9.243.187) port 80 (#0)
> GET /kwamalasemutu HTTP/1.1
> Host: wttr.in
> User-Agent: curl/7.88.1
> Accept: */*
>
< HTTP/1.1 200 OK
< Access-Control-Allow-Origin: *
< Content-Length: 9156
< Content-Type: text/plain; charset=utf-8
< Date: Sun, 15 Feb 2026 22:26:13 GMT
<
{ [2569 bytes data]
100 9156 100 9156 0 0 7320 0 0:00:01 0:00:01 --:--:-- 7318
* Connection #0 to host wttr.in left intact^Z
#weather #wttr #curl #libcurl #programming #technology #bash #csh #ksh #zsh #fish #sh #networking #http #ports #OpenSource #POSIX #Physics #Chemistry #Lineair #Algebra #Mathematics #Logic #Mobile #Kwamalasemutu
-
Current weather in Kwamalasemutu SR SA with the grace of wttr.in curl {ba{c{k{z{fi}}}}}sh and the cool lolcat
Background photograph a Sluis (NL) composed Sepia in Commewijne SR SA
>> log
$ curl --verbose wttr.in/kwamalasemutu|lolcat
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 5.9.243.187:80...
* Connected to wttr.in (5.9.243.187) port 80 (#0)
> GET /kwamalasemutu HTTP/1.1
> Host: wttr.in
> User-Agent: curl/7.88.1
> Accept: */*
>
< HTTP/1.1 200 OK
< Access-Control-Allow-Origin: *
< Content-Length: 9156
< Content-Type: text/plain; charset=utf-8
< Date: Sun, 15 Feb 2026 22:26:13 GMT
<
{ [2569 bytes data]
100 9156 100 9156 0 0 7320 0 0:00:01 0:00:01 --:--:-- 7318
* Connection #0 to host wttr.in left intact^Z
#weather #wttr #curl #libcurl #programming #technology #bash #csh #ksh #zsh #fish #sh #networking #http #ports #OpenSource #POSIX #Physics #Chemistry #Lineair #Algebra #Mathematics #Logic #Mobile #Kwamalasemutu
-
curl log with transfer succes
wttr.in/nieuw_amsterdam_suriname
$ curl --verbose wttr.in/nieuw_amsterdam_suriname|lolcat
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 5.9.243.187:80...
* Connected to wttr.in (5.9.243.187) port 80 (#0)
> GET /nieuw_amsterdam_suriname HTTP/1.1
> Host: wttr.in
> User-Agent: curl/7.88.1
> Accept: */*
>
0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0< HTTP/1.1 200 OK
< Access-Control-Allow-Origin: *
< Content-Length: 9015
< Content-Type: text/plain; charset=utf-8
< Date: Sun, 15 Feb 2026 20:29:33 GMT
<
{ [1209 bytes data]
100 9015 100 9015 0 0 1393 0 0:00:06 0:00:06 --:--:-- 2197
* Connection #0 to host wttr.in left intact^Z
the screen cap is also included
syntax:
`xfce4-screenshooter -S -d 2 --window -s "$HOME/Pictures/$(date +%Y-%m-%d_%H-%M-%S)_Screenshot2.png"`
#weather #curl #libcurl #programming #technology #networking #protocols #ftp #http #https #ports #OpenSource #POSIX #Physics #Chemistry #Lineair #Algebra #Mathematics #Logic
-
curl log with transfer succes
wttr.in/nieuw_amsterdam_suriname
$ curl --verbose wttr.in/nieuw_amsterdam_suriname|lolcat
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 5.9.243.187:80...
* Connected to wttr.in (5.9.243.187) port 80 (#0)
> GET /nieuw_amsterdam_suriname HTTP/1.1
> Host: wttr.in
> User-Agent: curl/7.88.1
> Accept: */*
>
0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0< HTTP/1.1 200 OK
< Access-Control-Allow-Origin: *
< Content-Length: 9015
< Content-Type: text/plain; charset=utf-8
< Date: Sun, 15 Feb 2026 20:29:33 GMT
<
{ [1209 bytes data]
100 9015 100 9015 0 0 1393 0 0:00:06 0:00:06 --:--:-- 2197
* Connection #0 to host wttr.in left intact^Z
the screen cap is also included
syntax:
`xfce4-screenshooter -S -d 2 --window -s "$HOME/Pictures/$(date +%Y-%m-%d_%H-%M-%S)_Screenshot2.png"`
#weather #curl #libcurl #programming #technology #networking #protocols #ftp #http #https #ports #OpenSource #POSIX #Physics #Chemistry #Lineair #Algebra #Mathematics #Logic
-
curl log with transfer succes
wttr.in/nieuw_amsterdam_suriname
$ curl --verbose wttr.in/nieuw_amsterdam_suriname|lolcat
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 5.9.243.187:80...
* Connected to wttr.in (5.9.243.187) port 80 (#0)
> GET /nieuw_amsterdam_suriname HTTP/1.1
> Host: wttr.in
> User-Agent: curl/7.88.1
> Accept: */*
>
0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0< HTTP/1.1 200 OK
< Access-Control-Allow-Origin: *
< Content-Length: 9015
< Content-Type: text/plain; charset=utf-8
< Date: Sun, 15 Feb 2026 20:29:33 GMT
<
{ [1209 bytes data]
100 9015 100 9015 0 0 1393 0 0:00:06 0:00:06 --:--:-- 2197
* Connection #0 to host wttr.in left intact^Z
the screen cap is also included
syntax:
`xfce4-screenshooter -S -d 2 --window -s "$HOME/Pictures/$(date +%Y-%m-%d_%H-%M-%S)_Screenshot2.png"`
#weather #curl #libcurl #programming #technology #networking #protocols #ftp #http #https #ports #OpenSource #POSIX #Physics #Chemistry #Lineair #Algebra #Mathematics #Logic
-
I am not advising you to use only everything curl online to get to know curl.
I often work on airgapped servers (they only seen LAN segments) where the man pages of all commands are crucial to have locally.
Use the site as an **addition** to the manpages.
#curl #libcurl #programming #technology #networking #protocols #ftp #http #https #ports #OpenSource #POSIX
-
I am not advising you to use only everything curl online to get to know curl.
I often work on airgapped servers (they only seen LAN segments) where the man pages of all commands are crucial to have locally.
Use the site as an **addition** to the manpages.
#curl #libcurl #programming #technology #networking #protocols #ftp #http #https #ports #OpenSource #POSIX
-
I am not advising you to use only everything curl online to get to know curl.
I often work on airgapped servers (they only seen LAN segments) where the man pages of all commands are crucial to have locally.
Use the site as an **addition** to the manpages.
#curl #libcurl #programming #technology #networking #protocols #ftp #http #https #ports #OpenSource #POSIX
-
curl libcurl
curl is the Swiss Army Knife of fetching programscurl follows the UNIX principle, it does one thing, and it does it very good & curl has been doing it for decades.
If you want to know everything that curl does there are Man Pages. The man pages are not only for curl but also for libcurl. You are referred to libcurl immediately on the first page of man curl
This means that you have to read man curl and man libcurl
To make that a bit easier everything curl was created. Go there and check in a convenient manner what {lib} curl can actually do and be blown away.
I've made my screens caps on mobile. Look how nice everything has been divided.
I will also include screen caps from the desktop#curl #libcurl #programming #technology #networking #protocols #ftp #http #https #ports #OpenSource #POSIX
-
curl libcurl
curl is the Swiss Army Knife of fetching programscurl follows the UNIX principle, it does one thing, and it does it very good & curl has been doing it for decades.
If you want to know everything that curl does there are Man Pages. The man pages are not only for curl but also for libcurl. You are referred to libcurl immediately on the first page of man curl
This means that you have to read man curl and man libcurl
To make that a bit easier everything curl was created. Go there and check in a convenient manner what {lib} curl can actually do and be blown away.
I've made my screens caps on mobile. Look how nice everything has been divided.
I will also include screen caps from the desktop#curl #libcurl #programming #technology #networking #protocols #ftp #http #https #ports #OpenSource #POSIX
-
curl libcurl
curl is the Swiss Army Knife of fetching programscurl follows the UNIX principle, it does one thing, and it does it very good & curl has been doing it for decades.
If you want to know everything that curl does there are Man Pages. The man pages are not only for curl but also for libcurl. You are referred to libcurl immediately on the first page of man curl
This means that you have to read man curl and man libcurl
To make that a bit easier everything curl was created. Go there and check in a convenient manner what {lib} curl can actually do and be blown away.
I've made my screens caps on mobile. Look how nice everything has been divided.
I will also include screen caps from the desktop#curl #libcurl #programming #technology #networking #protocols #ftp #http #https #ports #OpenSource #POSIX
-
The cURL Project Drops Bug Bounties Due To AI Slop
-
The cURL Project Drops Bug Bounties Due To AI Slop
-
The cURL Project Drops Bug Bounties Due To AI Slop
-
Библиотека KASWeb — Kandelaber's Async & Safe Web requests
Мой пэт-проект KASWeb: async-safe C++ библиотека для HTTP-запросов без висячих колбэков В данной статье мы разберём: • Как достичь удобства через автономность запросов? • Как сделать колбэки безопасными? • Нужно ли бить пользователей палкой по рукам?
https://habr.com/ru/articles/980888/
#C++ #http_библиотека #KASWeb #LibCurl #Http #Асинхронные_запросы
-
Библиотека KASWeb — Kandelaber's Async & Safe Web requests
Мой пэт-проект KASWeb: async-safe C++ библиотека для HTTP-запросов без висячих колбэков В данной статье мы разберём: • Как достичь удобства через автономность запросов? • Как сделать колбэки безопасными? • Нужно ли бить пользователей палкой по рукам?
https://habr.com/ru/articles/980888/
#C++ #http_библиотека #KASWeb #LibCurl #Http #Асинхронные_запросы
-
#libcurl grew with a mere 100 lines of code in 2025. At 149,000 lines.
-
#libcurl grew with a mere 100 lines of code in 2025. At 149,000 lines.
-
#libcurl grew with a mere 100 lines of code in 2025. At 149,000 lines.
-
When you‘re low on RAM, I recommend using a recent #curl for your internet transfers.
It can shuffle gigabytes back and forth using a few MB of your memory (mostly used by openssl).
If you develop an application, you can use #libcurl to gain its benefits.
Need to shape your traffic? For example bc you run a streaming service? #libcurl does that for you for all HTTP versions.
-
When you‘re low on RAM, I recommend using a recent #curl for your internet transfers.
It can shuffle gigabytes back and forth using a few MB of your memory (mostly used by openssl).
If you develop an application, you can use #libcurl to gain its benefits.
Need to shape your traffic? For example bc you run a streaming service? #libcurl does that for you for all HTTP versions.
-
When you‘re low on RAM, I recommend using a recent #curl for your internet transfers.
It can shuffle gigabytes back and forth using a few MB of your memory (mostly used by openssl).
If you develop an application, you can use #libcurl to gain its benefits.
Need to shape your traffic? For example bc you run a streaming service? #libcurl does that for you for all HTTP versions.
-
If you have an idea for a <500 line stand-alone example C code using #libcurl, tell us!
-
If you have an idea for a <500 line stand-alone example C code using #libcurl, tell us!
-
If you have an idea for a <500 line stand-alone example C code using #libcurl, tell us!
-
-
-
-
(2/2) #OpenSSL, #OpenPGP oder #libcurl – ein Protokoll zur sicheren Datenübertragung, ein Verschlüsselungsstandard, eine Programmbibliothek – offene digitale Infrastrukturen wie diese sind von Big-Tech-Konzernen & autoritären Regierungen bedroht, fürchten die Studienautoren.
🔍 Wie die globale, dezentrale, unabhängige Gemeinde der Entwickler*innen offener Software politisch & finanziell mit öffentlichen Mitteln unterstützt werden kann, zeigen sie am Beispiel der Sovereign Tech Agency (#STA).
-
(2/2) #OpenSSL, #OpenPGP oder #libcurl – ein Protokoll zur sicheren Datenübertragung, ein Verschlüsselungsstandard, eine Programmbibliothek – offene digitale Infrastrukturen wie diese sind von Big-Tech-Konzernen & autoritären Regierungen bedroht, fürchten die Studienautoren.
🔍 Wie die globale, dezentrale, unabhängige Gemeinde der Entwickler*innen offener Software politisch & finanziell mit öffentlichen Mitteln unterstützt werden kann, zeigen sie am Beispiel der Sovereign Tech Agency (#STA).
-
(2/2) #OpenSSL, #OpenPGP oder #libcurl – ein Protokoll zur sicheren Datenübertragung, ein Verschlüsselungsstandard, eine Programmbibliothek – offene digitale Infrastrukturen wie diese sind von Big-Tech-Konzernen & autoritären Regierungen bedroht, fürchten die Studienautoren.
🔍 Wie die globale, dezentrale, unabhängige Gemeinde der Entwickler*innen offener Software politisch & finanziell mit öffentlichen Mitteln unterstützt werden kann, zeigen sie am Beispiel der Sovereign Tech Agency (#STA).
-
On this day last year, #libcurl celebrated its 18th anniversary of not breaking the ABI.
That makes it 19 years now.
https://daniel.haxx.se/blog/2024/10/30/eighteen-years-of-abi-stability/
-
On this day last year, #libcurl celebrated its 18th anniversary of not breaking the ABI.
That makes it 19 years now.
https://daniel.haxx.se/blog/2024/10/30/eighteen-years-of-abi-stability/
-
On this day last year, #libcurl celebrated its 18th anniversary of not breaking the ABI.
That makes it 19 years now.
https://daniel.haxx.se/blog/2024/10/30/eighteen-years-of-abi-stability/
-
welcome to 100 public functions in the #libcurl API day