First I'm not entirely sure why you want to set a MimeType (Content-Type) for a GET.
Second... you do get an error 500 when openssl isn't initialized properly.
Did you add ssl_openssl or ssl_openssl3 to your uses clause?
And put the correct openssl dll's in the exe directory.
Third...
I'm not sure you can use THTTPSend.Document.ReadAnsiString to get the data.
It is a TMemoryStream so TStream.ReadAnsiString should work but for me it crapped out with a read stream exception.You CAN'T use TStream.ReadAnsiString because that expects a length at the beginning of the stream (see the ReadBuffer (TheSize ) at the beginning).
You can use this snippet to put the content of the memorystream to a string;
function MemoryStreamToString(M: TMemoryStream): ansistring;
begin
SetString(Result, PAnsiChar(M.Memory), M.Size);
end;