Autenticação básica HTTP usa a codificação base-64 do nome de usuário e senha juntos. Para um nome de usuário testuser e uma senha de hunter2 , você pegaria a string testuser:hunter2 e a base64-encode. Isso lhe dará a string dGVzdHVzZXI6aHVudGVyMg==
Como, você pergunta, você consegue essa codificação? A maioria dos sistemas POSIX tem openssl instalado, caso em que você pode usar a saída de echo -n "testuser:hunter2" | openssl base64 -base64 . O -n é hiper-importante, caso contrário, você também incluirá um newline na codificação, o que fornecerá uma string codificada incorreta (já que a senha não termina com um caractere de nova linha geralmente).
Você pode transacionar via telnet assim:
telnet hostname.example.com 80
GET / HTTP/1.1
Authorization: Basic dGVzdHVzZXI6aHVudGVyMg==