Marcelo_Ribeiro Aprendiz

Registrado: Quarta-Feira, 17 de Fevereiro de 2010 Mensagens: 127
|
Enviada: Ter Fev 12, 2019 4:18 pm Assunto: Conexão WebService - Rest |
|
|
Opa, boa tarde. Td bem? Estou com uma dúvida numa conexão num webservice.
Pra testes, me pediram pra instalar o Postman. Selecionando o tipo Post, informando o link, selecionando o menu Body e a opção form-data, informo o usuario e senha. Como ainda não tenho essa senha, quando envio, retorna usuário ou senha inválida. Até aí ok. Eu informaria esse usuário e senha pra pegar o token, e utilizar em outros métodos.
Tentei fazer a conexão pelo delphi pra ver se pelo menos retorna a mesma mensagem. Tentei desses jeitos:
Código: |
params := TIdMultiPartFormDataStream.Create;
params.AddFormField('Username', 'mail@mail.com.br');
params.AddFormField('Password', 'teste123');
IdHTTP.Request.CustomHeaders.Clear;
IdHTTP.Request.Clear;
IdHTTP.Request.ContentEncoding := 'multipart/form-data';
resultado:= IdHTTP.Post('http://site.com.br/Login', params);
|
Código: |
JsonToSend := TStringStream.Create(
'{"UserName": ' + '"email.com.br",' +
'"Password": ' + '"123456"' +
'}');
IdHTTP.Request.CustomHeaders.Clear;
IdHTTP.Request.Clear;
IdHTTP.Request.ContentEncoding := 'multipart/form-data';
idHttp.Response.ContentType := 'application/json';
resultado:= IdHTTP.Post('http://site.com.br/Login',JsonToSend );
|
Código: |
json :=
'{"User": {"UserName": "' + 'mail.com.br' +
'","Password": "' + '123456' +
'"}}';
JsonToSend := TStringStream.Create(Utf8Encode(Json));
IdHTTP.Request.UserAgent:='Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36';
IdHTTP.Request.Accept := 'application/json, text/javascript, */*; q=0.01';
IdHTTP.Request.ContentType := 'application/x-www-form-urlencoded; charset=UTF-8';
resultado:= IdHTTP.Post('http://site.com.br/Login',JsonToSend );
|
Mas ou dá erro de Forbbiden ou Unsupported media type. No Postman, no Body->form-data, o code tá assim:
Código: |
POST /Login HTTP/1.1
Host: site.com.br
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary
cache-control: no-cache
Postman-Token:
Content-Disposition: form-data; name="Username"
teste@teste.com.br
Content-Disposition: form-data; name="Password"
123456
------WebKitFormBoundary--
|
Tem algum jeito de fazer essa conexão de forma facil no delphi?
Tô apanhando pra caramba. Ainda não tinha mexido com integração via WS.
Valeu
Obrigado |
|