#HttpGet
Today, twenty-nine awesome years ago, httpget 0.2 shipped. Unfortunately, both the source and the changelog for this release have been lost in time (like tears in rain).

httpget was the precursor to what later would become #curl

The internet, and the web, was different in 1996.
December 17, 2025 at 8:32 AM
Sunday surprise!

A friend of mine found an old email from me dated January 17 1997

Attached in this mail was the #httpget 0.2 source code. Previously believed to be lost, now the oldest httpget code I have.

165 lines long. 110 lines code, 30 lines comments, 25 blank lines.

This morning […]
Original post on mastodon.social
mastodon.social
February 23, 2025 at 1:00 PM
Dieses Bscheisserle lässt sich per Website, httpGet, Taster und curl bedienen. Es schleift einen Widerstand in eine Temperaturmessung ein. Eine alte #Wärmepumpe denkt dann bei günstigem Strom das #Warmwasser wäre plötzlich zu kalt (-15K)
#Maker
March 3, 2025 at 11:50 PM
Twenty-nine years ago on this day, #httpget 0.1 was released.

I found the tool a few days later and within a few months I became the maintainer. We later renamed it. Twice. The last name it got is #curl. It stuck.

httpget was my first insight and lesson into HTTP and since then I have kept […]
Original post on mastodon.social
mastodon.social
November 11, 2025 at 6:49 AM
That old code is now imported in a new repo for historical reasons: https://github.com/curl/httpget
GitHub - curl/httpget: Historic versions of httpget source code
Historic versions of httpget source code. Contribute to curl/httpget development by creating an account on GitHub.
github.com
February 23, 2025 at 4:48 PM
This year counts as #curl 30 years, counting from the first httpget 0.1 release in November 1996.

I'm thinking we could fly a special logo for the occasion on the #curl front page throughout the year.

Maybe *you* can make one that looks festive and still […]

[Original post on mastodon.social]
February 25, 2026 at 9:01 AM
Some graphs are simpler
September 2, 2025 at 10:14 AM
the first #curl release happened on March 20, 1998 so it is 28 years old today. Under this name.

I have recently more and more started to instead count the project age from its very first origin: the httpget 0.1 release in November 1996.

https://curl.se/docs/history.html
curl - History
curl.se
March 20, 2026 at 6:53 AM
On this day twenty-eight years ago, I was gradually becoming the new maintainer as we shipped httpget 0.2. The precursor to #curl. The actual code and list of changes have been lost in time.
December 17, 2024 at 7:11 AM
@bagder this httpget thing looks interesting, I'm sure it will take off once gopher support is introduced... :-)
December 17, 2025 at 9:45 AM
Daniel's weeek => https://lists.haxx.se/pipermail/daniel/2025-February/000102.html

commute, distro meeting, features, web traffic, httpget, cookie proposals, wcurl, QUERY, FOLLOWLOCATION, thenewstack, release candidates
February 28, 2025 at 2:54 PM
Eighteen years ago on this day, I wrote about #curl's tenth anniversary:

https://daniel.haxx.se/blog/2008/03/20/curl-ten-years-today/
curl ten years today
On March 20th 1998 curl 4 was released. It was the first curl release ever even if already at version 4 since we kept the version number from the previous projects we did before curl – using other names. We started it all with having the tool named httpget (which was an existing small tool written by Rafael Sagula), soon changed name to urlget to end up with curl – all renames happening due to shifting features and focus. Like many other projects, this started because of an itch. I wanted to get currency rates off the internet to allow an IRC bot to be able to provide an “exchange service” for users with accurate up-to-date rates. I thought the existing projects I found all did too much or did the wrong thing. That bot and service is now gone since long. curl has been a truly portable project from day 1, and the first windows build was already urlget 2.1 (pre-curl). autoconf support for the build process was added in October 1998. Unfortunately I don’t have the original release 4 tarball left anymore, the closest one I have is curl 4.8 (dated August 31 1998). curl 4.8 is about 3400 lines of code. Today we’re totaling in well over 100K source lines, so it has grown over **30** times! I had no big plans for curl nor did I think very much about the future of the project. I just added the features I and my fellow contributors wanted to have for the moment. That’s actually pretty much how the project has continued to work. We don’t have many long-term plans for what to do with it, we mostly look just inches ahead of our noses and act accordingly. During the version 6 period (Sep 1999 – Mar 2000) we learned that curl was getting popular, was useful and worked rather well, so the work on providing a libcurl started. We wanted to offer other applications the ability to use curl’s file transfer powers. Version 7.1 was released in August 2000 and thus libcurl was officially born. curl and libcurl remained being a rather low-key project, I just work on it on my spare time and there are no full-time developers paid to work on this project – apart from some occasional sub-projects now and then that have been sponsored by companies and organizations. (See later on for an example.) Slowly but surely more and more people started using libcurl and contributed with bug reports and patches. When the project turned 5 years in 2003 I collected all the names of all contributors so far and I reached the number 270. I found the number very high and I was mostly kidding when I said I hoped we would double that amount by the time we celebrate our tenth anniversary. Of course we’ve more than doubled that amount today when we have more than 620 named contributors so far – and continuously adding new ones with every release. During this journey of a decade, I’ve remained the lead developer and project leader but we’re now some 10 developers with commit access (that also use it) and I try to be open and responsive in order to attract more developers to come aboard, to listen to their advice and ideas and to be sensitive on what our users want from us. In 2005 I was lucky enough to get a grant from the Swedish IIS organization for the purpose of developing a new event-based API for libcurl to better deal with very large amount of connections, the problem so nicely called c10k. In the days when our humble project turns 10, I spend about two hours spare time per day on the project and it is my primary hobby, we make 5-6 releases per year, we get about 7000 unique visitors on the web site a normal day, about one million curl packages are downloaded per year – from our servers. Today, libcurl is feature-rich, portable, very widely used, very fast, well supported and there are no signs of stagnation in release nor development pace. In fact, looking at the source-code growth over the last couple of years we can see a pretty stable and continuous growth: Just as I never looked ahead and planned for the future much in the past, I don’t do that now either so I really don’t know and can’t tell what the future will hold for us. We’ll just continue to develop the world’s best client-side file transfer library, to make it even more solid for the foreseeable future, to make it do the things users and developers out there think it should do. Possibly that involves adding support for more protocols, removing some of the less popular ones or simply by enhancing how we support the existing ones. **Join themailing lists and join us for the next ten years to come!**
daniel.haxx.se
March 19, 2026 at 11:33 PM
Skipping [HttpGet] sounds harmless right up until your endpoint accepts everything 🔒 One of several really good ASP.NET Core gotchas Philip Japikse shares in the full session: youtu.be/OBOkxvDHaVs
June 11, 2026 at 7:03 PM
The blog post from yday brought back this question: why aren't we using C99 in #curl? Here's my past response:

https://daniel.haxx.se/blog/2022/11/17/considering-c99-for-curl/
Considering C99 for curl
_tldr: we stick to C89 for now._ The curl project builds on foundations that started in late 1996 with the tool named httpget. ## ANSI C became known as C89 In 1996 there were not too many good alternatives for making a small and efficient command line tool for doing Internet transfers. I am not saying that C was the only available language, but for me the choice was easy and frankly I did not even think about any other languages when this journey started. We called the C flavor “ANSI C” back then, as compared to the _K &R_ “old style” C. The ANSI C version would later be renamed to C89 (confusingly enough it is also sometimes known as C90). In the year 2000 we introduced libcurl, the library that provides Internet transfer super powers to whoever wants it. This made the choice of using C even better. C made it possible for us to provide a stable API/ABI without problems – something not even C++ could offer at the time. It was also a reasonably portable language that made it possible for us to bring curl and libcurl to virtually all modern operating systems. As I wanted curl and libcurl to be system level options and I aimed for the widest possible adoption, they could not be written in any of the higher level languages like Perl, Python or similar. That would make them too big and require too much “extra baggage”. I am convinced that the use of (conservative) C for curl is a key factor to its success and its ability to get used “everywhere”. ## C99 C99 was published in (surprise!) 1999 but the adoption in compilers took a long time and it remained a blocker for adoption for us. We want curl available “everywhere” so as long some of the major compilers did not support C99 we did not even consider switching C flavor, as it would risk hamper curl adoption. The slowest of the “big compilers” to adopt C99 was the Microsoft Visual C++ compiler, which did not adopt it properly until 2015 and added more compliance in 2019. A large number of our users/developers are still stuck on older MSVC versions so not even all users of this compiler suite can build C99 programs even today, in late 2022. ## C11, C17 and beyond Meanwhile, the ISO C Working Group continue to crank out updates to the C language. C11 shipped, C17 came and now they are working on the C2x pending version, presumed to end up called C23. ## Bump the requirement for curl? We are aware that other widely popular C projects are moving forward and have raised their requirements to C99 or beyond. Like the Linux kernel, the git project and more. The discussion about bumping C flavor has been brought up on the libcurl mailing list as well, in particular as we are already planning a version 8 release to happen in the spring of 2023 so in theory it could be a good moment to make some changes like this. What C99 features would improve a project like curl? The most interesting parts of C99 that could impact curl code that I could think of are: * `//` comments * `__func__` predefined identifer * boolean type in `<stdbool.h>` * designated struct initializers * empty macro arguments * extended integer types in `<inttypes.h>` and `<stdint.h>` * flexible array members (zero size arrays) * inline functions * integer constant type rules * mixed declarations and code * the `long long` type and library functions * the `snprintf()` family of functions * trailing comma allowed in enum declaration * vararg macros * variable-length arrays So sure, there are lots of cool things we could use. But do we _need_ them? For several of the features above, we already have decent and functional replacements. Several of the features don’t matter. The rest risk becoming distractions. Opening up for C99 without conditions in curl code would risk opening the flood gates for people rewriting things, so we would have to go gently and open up for allowing new C99 features slowly. That is also how the git project does it. A challenge with that approach, is that it is hard to verify which features that are allowed vs used as existing tooling normally don’t have that resolution. The question has also been asked that if we consider bumping the requirement, should we then not bump it to C11 at once instead of staying at C99? ## Not now Ultimately, not a single person has yet been able to clearly articulate what benefits such a C flavor requirement bump would provide for the curl project. We mostly see a risk that we all get caught in rather irrelevant discussions and changes that perhaps will not actually bring the project forward very much. Neither in features nor in quality/security. I think there are still much better things to do and much more worthwhile efforts to spend our energy on that could actually improve the project and bring it forward. Like improving the test suite, increasing test coverage, making sure more code is exercised by the fuzzers. ## A minor requirement change We have decided that starting with curl 8, we will require that the compiler supports a 64 bit data type. This is not something that existed in the original C89 version but was introduced in C99. However, there is no longer any modern compiler around that does not support this. This is a way to allow us to stop caring about those odd platforms and write code and checks for when the large types are not very large. It is hard to verify that code nowadays since virtually nobody actually uses such compilers/systems. Maybe this is the way we can continue to adapt to and use specific post C89 features going forward. By cherry-picking them one by one and adapting to them slowly over time. ## It is not a no to C99 forever I am sure we will bring up this topic for discussion again in the future. We have not closed the door forever or written anything in stone. We have only decided that for the moment we have not been persuaded to switch. Maybe we will in a future. ## Other languages We do not consider switching or rewriting curl into any other language. ## Discussion See reddit and hacker news.
daniel.haxx.se
April 8, 2025 at 7:14 AM
yes of course there is a graph of all #curl releases every done. This includes the releases done using the previous names (httpget and urlget) as well
November 5, 2025 at 8:25 AM
The difference is that with http request() I can set an Agent, which I can configure to use TCP no delay and no keep alive. If you configure the Agent without those, you get similar results to fetch(). There seems to be no way to configure these settings for fetch().
December 4, 2024 at 3:01 AM
containerd CVE-2026-53495: an exec probe that starts a background child leaks a goroutine every run until containerd is OOM-killed. One pod spec, node-wide impact over time. Fixed in 1.7.35, 2.0.12, 2.2.8, 2.3.5. Keep background jobs out of exec probes.

#Kubernetes #CKS
September 18, 2026 at 12:00 PM
Having a sneak peek under the hood of Pinch Payments at #DDDMelb
February 22, 2025 at 2:48 AM
揭秘游戏脚本技术:Loadstring与HttpGet在Lua编程中的应用

https://qian.cx/posts/78A6CA8B-452B-441E-B463-00A1876C1D0C
August 1, 2025 at 5:28 AM
OpenKruise PodProbeMarker is Vulnerable to SSRF via Unrestricted Host FieldKr... Kruise provides automated management of large-scale applications on Kubernetes. Prior to versions 1.8.3 and 1.7.5, P...

Origin | Interest | Match
CVE-2026-24005 | THREATINT
CVE-2026-24005: Kruise provides automated management of large-scale applications on Kubernetes. Prior to versions 1.8.3 and 1.7.5, PodProbeMarker allows defining custom probes with TCPSocket or HTTPGet handlers. The webhook validation does not restrict the Host field in these ...
cve.threatint.eu
February 25, 2026 at 8:48 PM
@bagder I don't remember ever using httpget, but I remember urlget very well. But I was today years old when I discovered **trurl**!
https://curl.se/trurl/
November 11, 2025 at 2:50 PM
Question on Asynchronous programming

#dotnet
Question on Asynchronous programming
Hello, I came across this code while learning asynchronous in web API: **[HttpGet] public async Task<IActionResult> GetPost() { ...
old.reddit.com
March 13, 2025 at 12:04 AM
another banger jetbrains in line completion
April 27, 2026 at 12:32 PM