Ir para conteúdo
  • Cadastre-se

  • Este tópico foi criado há 1438 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;

 

  • Consultores
Postado

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

 

Consultora ACBr Pro

Juliomar Marchetti

Ajude o Projeto ACBr crescer - Seja Pro

discord: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br

 

MVP_NewLogo_100x100_Transparent-02.png
Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

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

  • Consultores
Postado

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

 

Consultora ACBr Pro

Juliomar Marchetti

Ajude o Projeto ACBr crescer - Seja Pro

discord: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br

 

MVP_NewLogo_100x100_Transparent-02.png
Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

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á 1438 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.