... to toy with and run curl against it.
This is not advice on how to run anything in production. This is for development and experimenting.
An existing local HTTP/1.1 server that hosts files. Preferably also a few huge ones.
The idea is to make a two and a half hour (give or take) video course explaining and detailing curl, the command line tool. How it works, how to use it, from the basics to some more advanced uses. This will be done by Daniel Stenberg, founder and lead developer of the curl project.
The recording and live-stream is scheduled for August 31, 2023. In the US morning and Euro evening.
See blog post for details.
#!/bin/sh | |
export CFLAGS="-Os -ffunction-sections -fdata-sections -fno-unwind-tables -fno-asynchronous-unwind-tables -flto" | |
export LDFLAGS="-Wl,-s -Wl,-Bsymbolic -Wl,--gc-sections" | |
./configure \ | |
--disable-cookies \ | |
--disable-crypto-auth \ | |
--disable-dict \ | |
--disable-file \ | |
--disable-ftp \ | |
--disable-gopher \ |
#include <stdio.h> | |
#include <stdlib.h> | |
#include <poll.h> | |
#include <uv.h> | |
static void on_close(uv_handle_t* handle); | |
static void on_connect(uv_connect_t* req, int status); | |
static void on_write(uv_write_t* req, int status); | |
static void on_alloc(uv_handle_t* handle, size_t suggested_size, uv_buf_t* buf) |
#!/usr/bin/perl | |
# [scheme][divider][userinfo][hostname][port number][path][query][fragment] | |
my $num = $ARGV[0]; | |
sub get_part | |
{ | |
my ($part, $g) = @_; | |
my @a; |
urlgen: https://gist.github.com/bagder/50ca185c73a9d4d38a1d21271f7f2d59
I made 100000 URLs with it:
./urlgen.pl 100000 > URLs
/*************************************************************************** | |
* _ _ ____ _ | |
* Project ___| | | | _ \| | | |
* / __| | | | |_) | | | |
* | (__| |_| | _ <| |___ | |
* \___|\___/|_| \_\_____| | |
* | |
* Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al. | |
* | |
* This software is licensed as described in the file COPYING, which |
/*************************************************************************** | |
* _ _ ____ _ | |
* Project ___| | | | _ \| | | |
* / __| | | | |_) | | | |
* | (__| |_| | _ <| |___ | |
* \___|\___/|_| \_\_____| | |
* | |
* Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al. | |
* | |
* This software is licensed as described in the file COPYING, which |
#include <stdio.h> | |
#include <curl/curl.h> | |
struct detail { | |
const char *n; | |
const char *ifdef; | |
}; | |
static const struct detail scheme[] = { | |
{"dict", "#ifndef CURL_DISABLE_DICT" }, |