Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   Error de Authorization http REST (https://www.clubdelphi.com/foros/showthread.php?t=96098)

pgranados 09-02-2023 18:56:37

Error de Authorization http REST
 
Buen día compañeros, estoy realizando una petición REST pero al obtener el Response tengo errores de autorización, la documentación del webservice donde me tengo que conectar menciona que tengo que agregar Authorization Type Basic Auth con el username y password en el formato USER:PASSWORD codificado en Base64

Pero no consigo que se logre la conexión, mi código es:

Código Delphi [-]

HTTP := TIdHTTP.Create(nil);
encoder: TBase64Encoding;

        encoder:=TBase64Encoding.Create();
        RequestBodyjson.SaveToFile(ExtractFileDir(ParamStr(0))+'\RequestCancelacion.txt');
        HTTP.ProxyParams.BasicAuthentication:= true;
        HTTP.Request.BasicAuthentication:= true;
        HTTP.Request.CustomHeaders.FoldLines := False;
        HTTP.Request.BasicAuthentication:=true;
        HTTP.Request.CustomHeaders.Values['Authorization']:= 'Basic '+encoder.Encode('USUARIO:CONTRASENA');

¿Alguna solución? :confused::confused::confused: Saludos

chenech 09-02-2023 23:25:22

Hola pgranados, es para el nuevo servicio de hospedajes? Lo digo por el formato que pones de autorization y el susuario:contraseña.
Si es así, a mi me da el mismo error, me han dados un usuario y contraseña para hacer pruebas y número de establecimiento, pero no paso de ahí, estoy haciendo las pruebas con PostMan y no hay manera.
Has conseguido conectarte?
Un saludo.

pgranados 09-02-2023 23:37:47

Hola, no, no es de Hospedajes :(

Pero desde Postman no tengo ningún problema, si obtengo respuesta del webservice

Saludos :D

Pero desde Delphi no lo he podido echar a andar.

Neftali [Germán.Estévez] 10-02-2023 11:54:37

Probad con el REST Debugger que viene con Delphi.
Se puede lanzar desde el IDE directamente.



Si no lo habéis usado, es una "especie de" postan, pero más sencillo.
La ventaja, es que una vez conectado desde RESTDebugger, te permite generar los componentes para "pegarlos" en un proyecto con todas las configuraciones correctas.

Casimiro Notevi 10-02-2023 12:01:15

Cita:

Empezado por 'Neftali [Germán.Estévez
La ventaja, es que una vez conectado desde RESTDebugger, te permite generar los componentes para "pegarlos" en un proyecto con todas las configuraciones correctas.

¿Tienes algún ejemplo en tu blog o algún enlace que lo explique?

Neftali [Germán.Estévez] 10-02-2023 12:11:41

Cita:

Empezado por Casimiro Notevi (Mensaje 550311)
¿Tienes algún ejemplo en tu blog o algún enlace que lo explique?

En este artículo, se puede ver cómo se usa el RESTDebugger a partir del minuto 8:12, tal y como he comentado.
https://neftali.clubdelphi.com/delph...-put-y-delete/

Y es posible que haya alguno más donde haya hecho referencia "de pasada.....".

En el canal de Ermbarcadero también se puede encontrar algún video donde se usa.

chenech 10-02-2023 13:45:27

Lo he intentado con RestDebuger, pero no me permite adjuntar un archivo XML ya que me da una excepción, solo JSON.
Funciona también con XML o estoy haciendo algo mal?
Y otra cosa es que exige usar un certificado, los permite el RestDebuger?
Gracias.

pgranados 10-02-2023 17:14:32

Cita:

Empezado por Neftali [Germán.Estévez] (Mensaje 550313)
En este artículo, se puede ver cómo se usa el RESTDebugger a partir del minuto 8:12, tal y como he comentado.
https://neftali.clubdelphi.com/delph...-put-y-delete/

Y es posible que haya alguno más donde haya hecho referencia "de pasada.....".

En el canal de Ermbarcadero también se puede encontrar algún video donde se usa.

Hola Neftali , como siempre un master jeje, ya puse conectarme al webservice y autenticarme, pero ahora quiero exportar el Response obtenido tengo errores, te comparto como tengo el codigo

Código Delphi [-]
var ResponseBody:TStringList;
begin
 RESTRequest1.Params.Clear;
 // Despues agrego los parametros, son muchos jeje.
 RESTRequest1.Execute; // Todo bien hasta aqui
 ResponseBody.Add(RESTResponse1.Content);
 ResponseBody.SaveToFile(ExtractFileDir(ParamStr(0))+'\Response.txt');

¿La forma en la que extraigo el Response es correcta? en caso de que no, ¿cúal es la forma correcta? Saludos.

pgranados 10-02-2023 18:19:45

Cita:

Empezado por pgranados (Mensaje 550319)
Hola Neftali , como siempre un master jeje, ya puse conectarme al webservice y autenticarme, pero ahora quiero exportar el Response obtenido tengo errores, te comparto como tengo el codigo

Código Delphi [-]
var ResponseBody:TStringList;
begin
 RESTRequest1.Params.Clear;
 // Despues agrego los parametros, son muchos jeje.
 RESTRequest1.Execute; // Todo bien hasta aqui
 ResponseBody.Add(RESTResponse1.Content);
 ResponseBody.SaveToFile(ExtractFileDir(ParamStr(0))+'\Response.txt');

¿La forma en la que extraigo el Response es correcta? en caso de que no, ¿cúal es la forma correcta? Saludos.


Por si a alguien le sirve:
Código Delphi [-]
var
StreamResponse:TStringStream;
begin
StreamResponse:= TStringStream.Create(RestResponse1.Content, TEncoding.UTF8);
StreamResponse.SaveToFile(ExtractFileDir(ParamStr(0))+'\ResponseCancelacion.txt');
end;

newtron 28-03-2023 17:15:15

Cita:

Empezado por Neftali [Germán.Estévez] (Mensaje 550313)
En este artículo, se puede ver cómo se usa el RESTDebugger a partir del minuto 8:12, tal y como he comentado.
https://neftali.clubdelphi.com/delph...-put-y-delete/

Y es posible que haya alguno más donde haya hecho referencia "de pasada.....".

En el canal de Ermbarcadero también se puede encontrar algún video donde se usa.

Yo creo que a este tío habría que ponerle un piso o algo. :D

Gracias Germán, estas indicaciones tuyas me han sido de muuuuuucha utilidad.

Saludos.

Neftali [Germán.Estévez] 29-03-2023 08:54:34

Cita:

Empezado por newtron (Mensaje 550865)
Yo creo que a este tío habría que ponerle un piso o algo. :D

:D:D:D:D
Yo creo que un "pisito" hoy como están las codsas, casi mejor que si te tocara la lotería...


La franja horaria es GMT +2. Ahora son las 12:39:53.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi