Ir para conteúdo
  • Cadastre-se

dev botao

  • Este tópico foi criado há 874 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Olá, estou realizando a integração com a API da RvHub para Recarga de Celulares.

Todas as requisições foram testadas no Insomnia e estão retornando corretamente.

Porém, no Dephi Seattle, utilizo os componentes IdHTTP e os COmponentes REST para realizar as requisições, porém o retorno é o seguinte.

Para o IdHTTP : 403: Forbbiden

Para os REST: 405 Method Not Allowed

Ocorre em todas as requisições da API, onde em algumas delas é uma requisição POST sem BODY com apenas o HEADER.

Abaixo as linhas de código:

Delphi Seattle

API RvHub

IdHttp:

var
  idHttp : TidHttp;
  SSl : TIdSSLIOHandlerSocketOpenSSL;
  JsonStreamRetorno : TStringStream;
begin

  JsonStreamRetorno := TStringStream.Create('', TEncoding.UTF8);

  idHttp := TidHttp.Create(nil);
  SSl := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
  SSl.SSLOptions.Method := sslvTLSv1_2;
  idHttp.IOHandler := SSL;
  idHttp.Request.Clear;
  idHttp.Request.CustomHeaders.Clear;
  idhttp.Request.UserAgent := 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:42.0) Gecko/20100101 Firefox/42.0';
  idHttp.Request.ContentType :='application/x-www-form-urlencoded';
  idHttp.Request.Accept:='application/json';
  idhttp.Request.Charset := 'UTF-8';
  idhttp.HandleRedirects := True;

  idHttp.Request.CustomHeaders.AddValue('Content-Type','application/x-www-form-urlencoded');
  idHttp.Request.CustomHeaders.AddValue('Authorization','Basic NmVrNnFobjk0dml0M2piNDI1MDdic2U0czp1bDdmMWg4MGMzMThwdTRicDRlN3NucTdtbW5kYjlwY3BjNm8zdjZzbmIyMzlzb2F1dDg=');
  try
   idHttp.Post('http://auth.sbx.rvhub.com.br/oauth2/token?grant_type=client_credentials',JsonStreamRetorno);
  except
  on E: Exception do
   ShowMessage('Error on request:'#13#10 + E.Message);
  end;
end;

REST:

var
  FRestClient: TRESTClient;
  FRestRequest: TRESTRequest;
  FRestResponse: TRESTResponse;
begin
  FRestClient := TRESTClient.Create(nil);
  FRestRequest := TRESTRequest.Create(nil);
  FRestResponse := TRESTResponse.Create(nil);

  FRestRequest.Client := FRestClient;
  FRestRequest.Response := FRestResponse;

  FRestClient.BaseURL := 'https://auth.sbx.rvhub.com.br/oauth2/token?grant_type=client_credentials';
  FRestClient.ContentType := 'application/x-www-form-urlencoded';
  FRestRequest.Accept := 'application/json';

  FRestRequest.Params.AddHeader('Content-Type','application/x-www-form-urlencoded');
  FRestRequest.Params.AddHeader('Authorization','Basic NmVrNnFobjk0dml0M2piNDI1MDdic2U0czp1bDdmMWg4MGMzMThwdTRicDRlN3NucTdtbW5kYjlwY3BjNm8zdjZzbmIyMzlzb2F1dDg=');
  FRestRequest.Body.ClearBody;
  FRestRequest.Method := rmPOST;

  FRestRequest.Execute;

  ShowMessage(FRestResponse.StatusCode.ToString()+#13+FRestRequest.Response.StatusText);

end;

 

Postado
15 minutos atrás, Juliomar Marchetti disse:

chuto , mas no caso não seria só mandar nil ali ao invés de criar algo vazio?

Também não funcionou, retorna o mesmo erro

Postado
22 minutos atrás, Juliomar Marchetti disse:

lembrando que tu vai ter que pedir pra excluir seu token pois postou o mesmo acima

O token a cima é apenas de exemplo 

  • Este tópico foi criado há 874 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.