Ver Mensaje Individual
  #1  
Antiguo 22-08-2012
Avatar de D-MO
D-MO D-MO is offline
Miembro
 
Registrado: ago 2005
Ubicación: root@debian:/#
Posts: 1.042
Reputación: 20
D-MO Va por buen camino
Synapse, Https y Proxy

Hace algunos que no toco delphi, eventualmente he tenido que desarrollar pequeñas herramientas desktop y lazarus me ha bastado y me tiene satisfecho.

Ahora tengo la necesidad de conectarme a una aplicación web y consumir unos servicios que tengo funcionando sobre django, así que estoy trabajando con lazarus, conectándome con synapse y todo bien hasta que tengo que hacer una petición https pasando un proxy .

El código que utilizo es el siguiente:

Código Delphi [-]
function ExcuteCall(method, url: String): String;
var
  response: TStringList;
  http: THTTPSend;
begin
  response := TStringList.Create;

  http := THTTPSend.Create;
  http.ProxyHost := '1.2.3.4';
  http.ProxyPort := '3128';

  try
    http.HTTPMethod(method, url);
    response.LoadFromStream(http.Document);
  finally
    http.Free;
  end;

  result := response.Text;
end;

Resumen:
  • HTTP sin proxy = OK
  • HTTP con proxy = OK
  • HTTPS sin proxy = OK
  • HTTPS con proxy = FAIL

Esta función es bastante sencilla, recibe el método (GET, POST, PUT ó DELETE) y la url (Host, URI y argumentos), se hace la petición al servidor y devuelve el texto que devuelve el servidor web, que en este caso es en formato json.

¿Alguien ha usado synapse para hacer peticiones https usando un proxy?

Saludos

EDITO:
Es indispensable para mi que se trabaje con vía ya que en algunas peticiones irán contraseñas o datos de alta sensibilidad, por lo que debo garantizar a los usuarios que viajan por un tunel seguro. También es importante el proxy porque muchos de los usuarios están (estamos) detrás de un proxy y el servicio web está hospedado externamente, por lo que es de sí o sí pasar por el proxy.

¿Alguien conoce otra alternativa para hacer esto?

Última edición por D-MO fecha: 22-08-2012 a las 22:16:50.
Responder Con Cita