Você pode fazer isso usando a ferramenta netcat (também chamada de nc ).
Apenas na linha de comando, siga as etapas abaixo para enviar a solicitação modificada.
$ nc <ip-address-of-webserver> 80
FOOBAR NOT REALLY HTTP
Host: example.com
Uma solicitação HTTP normal pode ser algo assim:
GET / HTTP/1.1 Host: example.com
Gostaria de alterar a primeira linha desta solicitação, com uma personalizada, por exemplo:
FOOBAR NOT REALLY HTTP Host: example.com
É possível fazer isso usando curl ou esta lá outra ferramenta, capaz de fazer isso?
curl só consegue falar alguns protocolos bem definidos. O que você está tentando fazer é não http válido nem qualquer outro protocolo válido.
Se você realmente quiser fazer desta forma, você pode simplesmente enviar seu texto, por exemplo, usando o netcat.
Existem 2 opções: telnet example.com 80 e nc example.com 80