Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Colaboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo Hace 1 Semana
victor03 victor03 is offline
Miembro
 
Registrado: feb 2025
Posts: 50
Poder: 2
victor03 Va por buen camino
RestApi delphi 2005

Hola

Tenemos una web donde se conectan varias empresas para consultar y administrar cierta información.
La cosa es que nos han empezado a pedir aplicaciones de escritorio para poder gestionar esa información y el problema es que no se muy bien como hacer que delphi 2005 trabaje con una Api.

Esto ya lo intente con la APi de un tercero usando indy (que ya tenia instalado en delphi no se si es nativo) y no termine de hacer que funcionase, sobre todo la parte del Post

Agradecería cualquier ayuda o consejo


Un saludo
Responder Con Cita
  #2  
Antiguo Hace 1 Semana
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.669
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
No te compliques demasiado: Delphi 2005 sí puede trabajar con APIs REST, aunque sea antiguo.
La clave es entender que una API normalmente es simplemente:
  • hacer peticiones HTTP (GET, POST, PUT, DELETE…)
  • enviar/recibir JSON
  • gestionar autenticación (tokens, API keys, JWT, etc.)
Indy sirve perfectamente para eso y en Delphi 2005 será de lo más habitual.
Por ejemplo:
  • TIdHTTP → para hacer las peticiones
  • TStringStream → para enviar JSON en POST
  • alguna librería JSON compatible con D2005 → para parsear respuestas
El problema normalmente no es el GET, sino el POST:
  • headers incorrectos
  • Content-Type
  • codificación UTF-8
  • SSL/TLS moderno
  • formato JSON mal enviado
Ejemplo muy básico de POST con Indy:
Código Delphi [-]
uses IdHTTP, Classes;

var Http: TIdHTTP; 
Datos: TStringStream; 
Respuesta: string; 
begin 
  Http := TIdHTTP.Create(nil); 
  Datos := TStringStream.Create('{"usuario":"test"}'); 
  try 
    Http.Request.ContentType := 'application/json'; 
    Respuesta := Http.Post( 'https://api.midominio.com/login', Datos ); 
    ShowMessage(Respuesta); 
  finally 
    Datos.Free; 
    Http.Free; 
  end; 
end;
Luego ya vienen las complicaciones reales:
  • HTTPS moderno (TLS 1.2)
  • tokens Bearer
  • certificados
  • OAuth
  • compresión gzip
  • parseo JSON
Ahí es donde Delphi 2005 empieza a sufrir por antiguo.
Si vais a hacer muchas aplicaciones de escritorio conectadas a vuestra web, quizá os compense:
  • usar una API REST bien definida
  • migrar a una versión más moderna de Delphi
  • o usar una librería REST ya preparada
Porque hoy en día casi todo funciona con JSON + HTTPS + JWT y Delphi 2005 no nació pensando en eso.
Mi consejo:
  1. primero consigue hacer un GET simple a una API pública
  2. luego un POST simple
  3. después añade autenticación
  4. y finalmente integra vuestra API real
Y para probar la API antes de programar:
  • Postman
  • Insomnia
  • Bruno
  • curl
Eso ayuda muchísimo para saber si el problema es Delphi o la API.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Error al abrir proyecto .net de delphi 2005 en delphi 2010.. dunia_lv OOP 1 05-01-2012 18:06:04
Error al abrir proyecto .net de delphi 2005 en delphi 2010.. dunia_lv Varios 0 04-11-2011 17:57:26
conectar delphi 2005 con mssql server 2005 tebre Conexión con bases de datos 0 26-11-2008 19:16:47
Existe Mucha Diferencia entre Delphi 7 y Delphi 2005? Alexis De la Cr OOP 2 06-02-2007 04:52:31
Delphi 2005! Delphi 2005! LISTO!!!!!! mamcx Noticias 8 05-11-2004 18:59:45


La franja horaria es GMT +2. Ahora son las 05:25:38.


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