Boa Tarde galera,
Estou consumindo webservice pelo método HTTPGET. E para isso, à partir de uma pesquisa vi que seria melhor usar o componente TidHTTP.
Acontece que em alguns clientes, a nossa aplicação retorna o erro "Socket Error # 10061 Connection refused"...
Antes ultilizava um método direto pelo WinInet, mas tive problemas com a codificação da String de retorno. Então migrei para o idHttp.
Segue o código da minha rotina para realizar o método httpGet:
function GetUrlContent(url: string): string; var lHTTP: TIdHTTP; lStream: TStringStream; begin url := urlEncode(url); lHTTP := TIdHTTP.Create(nil); lStream := TStringStream.Create(Result); try lHTTP.Get(url, lStream); lStream.Position := 0; Result := HTMLDECODE(lStream.ReadString(lStream.Size)); finally FreeAndNil(lHTTP); FreeAndNil(lStream); end; end;
O curioso é que essa exceção ocorre apenas em alguns clientes específicos.
Suspeitei que fosse firewall ou antivírus, mas não consegui provocar o erro para ter certeza.
Agradeço qualquer ajuda.
Abraço!