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 09-04-2020
muli muli is offline
Miembro
 
Registrado: jun 2003
Ubicación: A Coruña
Posts: 198
Poder: 22
muli Va por buen camino
Gracias Germán por tu dedicación, creo que vamos por el buen camino, pero no acabo de pillar la historia, y me da que es más fácil de lo que parece. Usando lo del amigo DEC hago lo siguiente:
Código Delphi [-]
    Usuario:= 'Variable que recoge el nombre del usuario';
    Contrasinal:= 'Variable que recoge la contraseña';

    Memo2.Lines.Clear;

    AValues := TStringList.Create;

    AValues.Values['usuario']  := Usuario;
    AValues.Values['password'] := Contrasinal;

    URLGC:='https://hospederias.guardiacivil.es/hospederias/servlet/ControlRecepcionFichero'

    PostStream:= TIdMultiPartFormDataStream.Create;
    ResponseStream := TStringStream.Create('');
    Try
      PostStream.AddFormField('usuario', AValues.Values['usuario']);
      PostStream.AddFormField('password', AValues.Values['password']);
      PostStream.AddFile('file',Carpeta+'\'+NombreFichero,'multipart/form-data');
      IdHTTP1.Post(URLGC, PostStream, ResponseStream);
    finally
      Memo2.Text := ResponseStream.DataString;
      ResponseStream.Free;
      PostStream.Free;
      AValues.Free;
    end;

Y recibo el mensaje (por lo menos ya recibo algo). "EidHttpProtocolException with message 'HTTP/1.1 401 Authorization Required'"
Me da que es algo de SSL pues la dirección web comienza por https y en el ejemplo de Indy de Delphi 6 con este componente cuando introduzco la dirección hhtps el solo marca un checkbox que pone SSL y luego le asigna al componente en la propiedad Intercept:= SSL, pero por mas que miro no encuentro de donde sale ese SSL.

Saludos.
__________________
SI UN PROBLEMA TIENE SOLUCION, YA NO ES UN PROBLEMA, Y SI NO LA TIENE PARA QUE PREOCUPARSE.
Responder Con Cita
  #2  
Antiguo 14-04-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.339
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
Si buscas en los mensajes del foro.
Verás que hay una diferencia entre los que llaman a una dirección HHTP y los que lo hacen a una HTTPS.
En el segundo caso debes utilizar las librerías de SSL y utilizar un componente nuevo de SSL (TidSSLIOHandlerSocketOpenSSL) que va "ligado" al TidHTTP.

Busca en los foros mensajes que hagan referencia a este componente y encontrarás código de cómo se utiliza.
__________________
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
  #3  
Antiguo 24-04-2020
muli muli is offline
Miembro
 
Registrado: jun 2003
Ubicación: A Coruña
Posts: 198
Poder: 22
muli Va por buen camino
Problema resuelto:
Procedimiento para enviar el fichero a la página web de la Guardia Civil (España)
Código Delphi [-]
    Usuario:=   Variable String donde guardo el nombre del usuario
    Contrasinal:= Variable String donde guardo la contraseña   
// Estos dos ultimos valores los proporciona la guardia civil en el momento de registrar el establecimiento.

    URLGC:='https://'+Usuario+':'+Contrasinal+'@'+urlindicada por la guardia civil.

    PostStream:= TIdMultiPartFormDataStream.Create;
    ResponseStream := TStringStream.Create('');
    Try
      PostStream.AddFile('file',Carpeta+'\'+NombreFichero,'multipart/form-data');
      IdHTTP1.Post(URLGC, PostStream, ResponseStream);
    finally
      ResponseStream.Free;
      PostStream.Free;
      AValues.Free;
    end;

En el formulario tengo dos componentes Indy (idHttp,IdSSLIOHandlerSocketOpenSSL), el primero de ellos lo pongo en protocolo pv1_0, y en httpOptions lo marco a true holnProcessAuth, el segundo lo enlazo en su propiedad IOHandler del primero, metodo sslvSSLv23, y mode sslmBoth.

Saludos a todos.
__________________
SI UN PROBLEMA TIENE SOLUCION, YA NO ES UN PROBLEMA, Y SI NO LA TIENE PARA QUE PREOCUPARSE.
Responder Con Cita
  #4  
Antiguo 24-04-2020
manelb manelb is offline
Miembro
 
Registrado: mar 2017
Posts: 289
Poder: 8
manelb Va por buen camino
Muchísimas gracias Muli, nos sera de gran ayuda...

Saludos
Responder Con Cita
  #5  
Antiguo 24-04-2020
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is online now
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.107
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
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
como mostrar una pagina(html) parte por parte? gabrielflowers PHP 10 02-04-2008 00:37:21
El Gobierno regional culpa a los viajeros de los retrasos que sufre el metro marcoszorrilla La Taberna 7 23-01-2007 10:40:14
Conmemoran en la Unam 70 años de la guerra civil española poliburro La Taberna 0 12-12-2006 05:29:45
Problemas de comunicacion con Indy Ver. Mas nueva ( Proyecto Ciber Parte 2) IcebergDelphi Internet 0 14-10-2004 05:10:29
comunicacion TCP/IP jmbarrio Internet 2 20-05-2003 22:02:27


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


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