Resolvido como o Alexandreac informou. A function ficou assim:
function TACBrConsultaCPF.Consulta(const ACPF, DataNasc, ACaptcha: String;
ARemoverEspacosDuplos: Boolean): Boolean;
var
Post: TStringStream;
Erro: String;
Resposta : TStringList;
begin
Erro := ACBrValidadorValidarCPF( ACPF ) ;
if Erro <> '' then
raise EACBrConsultaCPFException.Create(Erro);
//txtCPF=11122334410&txtToken_captcha_serpro_gov_br=299218104152138191166941752496584741018616278361624164&txtTexto_captcha_serpro_gov_br=ZCI8B9&Enviar=Consultar
Post:= TStringStream.Create('');
try
//acredito que irão mudar esse tempTxtCPF, tempTxtNascimento, temptxtToken e temptxtTexto_captcha_serpro_gov_br para como era anteriormente
Post.WriteString('tempTxtCPF='+ACPF+'&');
Post.WriteString('tempTxtNascimento='+datanasc+'&');
Post.WriteString('temptxtToken_captcha_serpro_gov_br='+FTokenCaptcha+'&');
Post.WriteString('txtTexto_captcha_serpro_gov_br='+Trim(ACaptcha)+'&');
Post.WriteString('temptxtTexto_captcha_serpro_gov_br='+Trim(ACaptcha)+'&');
Post.WriteString('Enviar=Consultar');
Post.Position:= 0;
HttpSend.Clear;
HttpSend.Document.Position:= 0;
HttpSend.Document.CopyFrom(Post, Post.Size);
HTTPSend.MimeType := 'application/x-www-form-urlencoded';
HTTPPost('http://www.receita.fazenda.gov.br/aplicacoes/atcta/cpf/ConsultaPublicaExibir.asp');
Erro := VerificarErros(RespHTTP.Text);
if Erro = '' then
begin
Result:= True;
Resposta := TStringList.Create;
try
Resposta.Text := StripHTML(RespHTTP.Text);
RemoveEmptyLines( Resposta );
//DEBUG:
//Resposta.SaveToFile('C:\temp\cpf.txt');
FCPF := LerCampo(Resposta,'No do CPF:');
FNome := LerCampo(Resposta,'Nome da Pessoa Física:');
FSituacao := LerCampo(Resposta,'Situação Cadastral:');
FEmissao := LerCampo(Resposta,'Comprovante emitido às:');
FCodCtrlControle := LerCampo(Resposta,'Código de controle do comprovante:');
FDigitoVerificador := LerCampo(Resposta,'Digito Verificador:');
finally
Resposta.Free;
end ;
if Trim(FNome) = '' then
raise EACBrConsultaCPFException.Create('Não foi possível obter os dados.');
if ARemoverEspacosDuplos then
begin
FNome := RemoverEspacosDuplos(FNome);
end;
end
else
begin
Result:= False;
raise EACBrConsultaCPFException.Create(Erro);
end;
finally
Post.Free;
end;
end;
Estou encaminhando o arquivo em anexo.
ACBrConsultaCPF.pas