Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-02-2020
Avatar de Soa Pelaez
Soa Pelaez Soa Pelaez is offline
Miembro
 
Registrado: nov 2015
Posts: 133
Poder: 9
Soa Pelaez Va por buen camino
Obtener json de una URL

Buenas delphiteros.

Necesito realizar una aplicación que me obtenga un json de una url pero no logro hacerlo, use el componente de Indy IdHTTP pero al ingresar la URL y ejecutar el aplicativo me sale un error de Could not load library SSL, hay alguna otra forma de hacerlo o alguien que tenga un ejemplo que le funcione para guiarme, a parte de leer de la URL el json, luego debo enviar un json modificado desde el aplicativo a otra URL. Estoy trabajando con XE8 y la versión de indy 10

Espero puedan ayudarme.

Gracias.
Responder Con Cita
  #2  
Antiguo 25-02-2020
Avatar de ElKurgan
[ElKurgan] ElKurgan is offline
Miembro Premium
 
Registrado: nov 2005
Posts: 1.234
Poder: 20
ElKurgan Va camino a la fama
Sobre el problema de que no puede cargar el Indy SSL, a lo mejor te puede ayudar este hilo, donde se trató el mismo problema

Un saludo
Responder Con Cita
  #3  
Antiguo 25-02-2020
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por Soa Pelaez Ver Mensaje
Necesito realizar una aplicación que me obtenga un json de una url pero no logro hacerlo, use el componente de Indy IdHTTP pero al ingresar la URL y ejecutar el aplicativo me sale un error de Could not load library SSL, ...
En mi blog tienes varios ejemplos de descarega de ficheros JSON utilizando Delphi + Indy + SSL.
Revísalos y échale un vistazo al código. Por ejemplo estas 2.

https://neftali.clubdelphi.com/obten...de-una-cancin/
https://neftali.clubdelphi.com/tidht...es-de-una-web/

De todas formas, para las nuevas versiones de Windows es mejor utilizar el componente THTTPClient para descargas, porque encapsula el acceso a SSL y simplifica el trema de la descarga.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #4  
Antiguo 26-02-2020
Avatar de Soa Pelaez
Soa Pelaez Soa Pelaez is offline
Miembro
 
Registrado: nov 2015
Posts: 133
Poder: 9
Soa Pelaez Va por buen camino
Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje
En mi blog tienes varios ejemplos de descarega de ficheros JSON utilizando Delphi + Indy + SSL.
Revísalos y échale un vistazo al código. Por ejemplo estas 2.

https://neftali.clubdelphi.com/obten...de-una-cancin/
https://neftali.clubdelphi.com/tidht...es-de-una-web/

De todas formas, para las nuevas versiones de Windows es mejor utilizar el componente THTTPClient para descargas, porque encapsula el acceso a SSL y simplifica el trema de la descarga.
Muchas gracias, probaré lo que me adjuntaste y tratare de hacerlo con lo que me dices al final THTTPClient .
Responder Con Cita
  #5  
Antiguo 26-02-2020
Avatar de look
look look is offline
Miembro
 
Registrado: sep 2007
Ubicación: The Shire
Posts: 656
Poder: 17
look Va camino a la fama
Cita:
Empezado por Soa Pelaez Ver Mensaje
Muchas gracias, probaré lo que me adjuntaste y tratare de hacerlo con lo que me dices al final THTTPClient .
Código Delphi [-]
function GetJSON(test: string): string;
var
  lHTTP: TIdHTTP;
  lParamList: TStringList;
begin

  lParamList := TStringList.Create;
  lParamList.Add('dummy='+test);

  lHTTP := TIdHTTP.Create;
  try
    Result := lHTTP.Post('http://........./root/demo/GetJSON.php' , lParamList);
  finally
    lHTTP.Free;
    lParamList.Free;
  end;

end;
__________________
all your base are belong to us
Responder Con Cita
  #6  
Antiguo 26-02-2020
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
El problema es que a ese código [look] le falta la parte de acceder a una dirección HTTPS.
Para hacerlo (a diferencia d una HTTP) tienes que usar un componente TIdSSLIOHandlerSocket que se "engancha" con el TidHttp y que es el que se encarga de cargar las DLL's para poder usar SSL.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #7  
Antiguo 26-02-2020
Avatar de look
look look is offline
Miembro
 
Registrado: sep 2007
Ubicación: The Shire
Posts: 656
Poder: 17
look Va camino a la fama
Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje
El problema es que a ese código [look] le falta la parte de acceder a una dirección HTTPS.
Para hacerlo (a diferencia d una HTTP) tienes que usar un componente TIdSSLIOHandlerSocket que se "engancha" con el TidHttp y que es el que se encarga de cargar las DLL's para poder usar SSL.
hola, y si utilizamos mejor un NetHTTPClient ???

Código Delphi [-]
function GetJSON(test: string): string;
var
  NetHTTP: TNetHTTPClient;
  lParamList: TStringList;
begin

  lParamList := TStringList.Create;
  lParamList.Add('dummy='+test);
  NetHTTP := TNetHTTPClient.Create(nil);
  try
    Result := NetHTTP.Post('https://........./root/demo/GetJSON.php', lParamList).ContentAsString;
  finally
    NetHTTP.Free;
    lParamList.Free;
  end;

end;
__________________
all your base are belong to us
Responder Con Cita
  #8  
Antiguo 26-02-2020
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por look Ver Mensaje
hola, y si utilizamos mejor un NetHTTPClient ???

Mucho mejor.

A ese me refería cuando dije THHPClient, que deja al sistema la gestión de HTTP/HTTPS.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
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
convertir json a xml ingabraham Varios 7 05-07-2019 17:37:11
extracción en JSON Ulises PHP 9 16-10-2018 20:46:28
Obtener latitud y longitud JSON google API Alceo Internet 4 03-04-2017 23:49:48
Problemón con JSON MaxiDucoli OOP 7 25-09-2015 17:54:39
Fecha JSON. BuenaOnda Varios 4 27-11-2011 18:46:27


La franja horaria es GMT +2. Ahora son las 11:33:48.


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
Copyright 1996-2007 Club Delphi