Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-04-2019
IVAND IVAND is offline
Miembro
 
Registrado: may 2003
Ubicación: ECUADOR
Posts: 523
Poder: 21
IVAND Va por buen camino
Invocar un api rest con headers

Estimados amigos

Tengo una inquietud y es la conexion a un web service q se debe pasar un request , pero no logro hacerlo o no entiendo muy bien como configurar el componete IdHTTP1 para tal fin , aqui se ha hablado de varias formas de incovar este tema pero no logro hacerlo con estos headers


Contando con ustedes quedo a sus ordenes


URL

https://inprise.integral.ec/api/cons...=1308325354001

Nota : Estoy usando un sistema de ejemplo de nuesto amigo neptali
el error self.Fhttp.ResponseCode es -1



X-MANTISAPI-CODE eeXahKo8 -> headers

he intentado varias formas ejmplo
HeaderStr = 'X-MANTISAPI-CODE: eeXahKo8';
IdHttp1.Request.CustomHeaders.Values[HeaderStr];

sale eror IOHandler value is not valid
self.Fhttp.ResponseCode da como resultado -1

El ejemplo que utilizo es el de nuestro amigo neftali
__________________
IVAND

Última edición por IVAND fecha: 03-04-2019 a las 04:30:13.
Responder Con Cita
  #2  
Antiguo 03-04-2019
IVAND IVAND is offline
Miembro
 
Registrado: may 2003
Ubicación: ECUADOR
Posts: 523
Poder: 21
IVAND Va por buen camino
Unhappy

creo q el problema es porque no se como enviar estos argumentos

self.Fhttp.Request.CustomHeaders.Add('key=X-MANTISAPI-CODE'+'value='+'eeXahKo8') ;
__________________
IVAND
Responder Con Cita
  #3  
Antiguo 03-04-2019
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola a todos,

Lo siguiente parece funcionar como se espera:

Código Delphi [-]
IdHTTP1.Request.CustomHeaders.AddValue('X-MANTISAPI-CODE', 'eeXahKo8');
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #4  
Antiguo 05-04-2019
IVAND IVAND is offline
Miembro
 
Registrado: may 2003
Ubicación: ECUADOR
Posts: 523
Poder: 21
IVAND Va por buen camino
Hola Dec

Gracias por tu respuesta y disculpa pero recien puedo entrar a revisar los correos

Mira uso indy 10.2.5 y delphi 2009 , esa propiedad que me indicas no aparece en mi version solo aparecen add y no funciona con esos dos parametros .
__________________
IVAND
Responder Con Cita
  #5  
Antiguo 05-04-2019
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola a todos,

Yo creo que uso Indy 10... pero es cierto que probé en Delphi 2007 (lo que tenía más a mano). Mira a ver si esto otro sirve, puesto que aquí parece funcionar también:

Código Delphi [-]
IdHTTP1.Request.CustomHeaders.Values['X-MANTISAPI-CODE'] := 'eeXahKo8';
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #6  
Antiguo 06-04-2019
IVAND IVAND is offline
Miembro
 
Registrado: may 2003
Ubicación: ECUADOR
Posts: 523
Poder: 21
IVAND Va por buen camino
Gracias Dev , por tu amable dedicacion ,

Mira logre consumir el servicio de esta manera como es uan pagina https

agrege esto

Código Delphi [-]
procedure TForm1.btn1Click(Sender: TObject);
var
Urls:string ;
LHandler: TIdSSLIOHandlerSocketOpenSSL;
begin
  LHandler := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
  IdHTTP1.Request.CustomHeaders.Values['X-MANTISAPI-CODE'] := 'eeXahKo8';
  IdHTTP1.IOHandler:=LHandler;
  memo1.Lines.Add(IdHTTP1.Get('https://inprise.integral.ec/api/consulta-identificacion/?identificacion=1308325354001'));
end;

Recibo ya la informacion , pero de una manera muy rara , como si fuera una pagina web que se embebe en un navegador , los datos que debe emviar son

Código PHP:
to `json`">json</a>
                        </li>
                      
                        <li>
                          <a class="
js-tooltip format-option" href="/api/consulta-identificacion/?format=api&amp;identificacion=1308325354001" rel="nofollow" title="Make a GET request on the Consulta Datos Identificacion resource with the format set to `api`">api</a>
                        </li>
                      
                    </ul>
                  </div>
                
              </fieldset>
            </form>
          

          
            <form class="
button-form" action="/api/consulta-identificacion/?identificacion=1308325354001" data-method="OPTIONS">
              <button class="
btn btn-primary js-tooltip" title="Make an OPTIONS request on the Consulta Datos Identificacion resource">OPTIONS</button>
            </form>
          

          

          
          </div>

            <div class="
content-main" role="main"  aria-label="main content">
              <div class="
page-header">
                <h1>Consulta Datos Identificacion</h1>
              </div>
              <div style="
float:left">
                
                  <p></p>
                
              </div>

              

              <div class="
request-info" style="clearboth" aria-label="request info">
                <pre class="
prettyprint"><b>GET</b> /api/consulta-identificacion/?identificacion=1308325354001</pre>
              </div>

              <div class="
response-info" aria-label="response info">
                <pre class="
prettyprint"><span class="meta nocode"><b>HTTP 200 OK</b>
<b>Allow:</b> <span class="
lit">OPTIONS, GET</span>
<b>Content-Type:</b> <span class="
lit">application/json</span>
<b>Vary:</b> <span class="
lit">Accept</span>

</span>{
    &quot;tipo_contribuyente&quot;: &quot;PERSONAS NATURALES&quot;,
    &quot;actividad_economica&quot;: &quot;VENTA AL POR MAYOR DE MATERIALES DE CONSTRUCCIÓN: PIEDRA, ARENA, GRAVA, CEMENTO, ETCÉTERA.&quot;,
    &quot;clase_contribuyente&quot;: &quot;OTROS&quot;,
    &quot;estado_contribuyente&quot;: &quot;ACTIVO&quot;,
    &quot;nombres_completos&quot;: &quot;ANCHUNDIA DELGADO JOSE RAFAEL&quot;,
    &quot;direccion&quot;: &quot;MANABI/PORTOVIEJO/12 DE MARZO/RAMOS IDUARTE S/N TERCERA Y CUARTA TRANSVERSAL&quot;,
    &quot;nombre_comercial&quot;: &quot;DEPOSITO ANCHUNDIA&quot;,
    &quot;obligado&quot;: &quot;S&quot;
}</pre>
              </div>
            </div>

            
              

              
            
          
        </div><!-- /.content -->
      </div><!-- /.container -->
    </div><!-- ./wrapper -->

    

    
      <script>
        window.drf = {
          csrfHeaderName: "
X-CSRFTOKEN",
          csrfCookieName: "
csrftoken"
        };
      </script>
      <script src="
/static/rest_framework/js/jquery-1.12.4.min.4f252523d4af.js"></script>
      <script src="
/static/rest_framework/js/ajax-form.0ea6e6052ab5.js"></script>
      <script src="
/static/rest_framework/js/csrf.753b7a1f2ee7.js"></script>
      <script src="
/static/rest_framework/js/bootstrap.min.5869c96cc8f1.js"></script>
      <script src="
/static/rest_framework/js/prettify-min.709bfcc456c6.js"></script>
      <script src="
/static/rest_framework/js/default.b846d7d305c9.js"></script>
      <script>
        $(document).ready(function() {
          $('form').ajaxForm();
        });
      </script>
    

  </body>
  
</html> 
Cuando deberia enviar en JSON , este servicio esta probado en python, sera que me falta algo mas para darle formato en los indy o sera normal asi en delphi que retorne aunq en la web de neftaly un api rest devuelve un json tal cual debe ser


Nuevamente aprecio mucha tu ayuda , un abrazo
__________________
IVAND

Última edición por dec fecha: 06-04-2019 a las 09:42:59. Razón: Poner etiquetas DELPHI
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
Incluir Headers de SOAP en web services Delphi 2010 Revow Delphi para la web 6 19-05-2015 23:32:59
invocar a una dll lestad Varios 3 07-03-2014 18:47:54
Como modificar los headers de un DBGrid yn4v4s OOP 3 16-07-2012 20:43:07
dbgrid con sub-headers samantha jones Varios 1 02-03-2005 21:30:25
Indicador de orden en los headers de un TListView walrus OOP 1 11-10-2004 19:50:30


La franja horaria es GMT +2. Ahora son las 10:04:28.


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