Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Servers (https://www.clubdelphi.com/foros/forumdisplay.php?f=9)
-   -   Peticiones a un Proxy!! (https://www.clubdelphi.com/foros/showthread.php?t=80159)

MARLON1 06-09-2012 22:31:14

Peticiones a un Proxy!!
 
Hola a todos:

Hace tiempo que tengo este problemilla :confused: he desarrollado una aplicacion con ayuda del foro, esta aplicacion descarga emails del servidor mail.itelcel.com y procesa dicha informacion, hasta ahora no hay ningun problema en redes "abiertas" (sin restricciones), pero no he logrado que se descarguen en una red con restricciones eh intentado configurando desde codigo el servidor proxy al que envio la peticon y este me de la salida correspondiente pero sigo en "CEROS" :mad:.

hice esta prueba! segun yo asigno la configuracion LAn pero sigue en las mismas error ' connection gracefully closed'.
Código Delphi [-]

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls,Registry, IdMessage, IdIOHandler, IdIOHandlerSocket,
  IdIOHandlerStack, IdSSL, IdSSLOpenSSL, IdBaseComponent, IdComponent,
  IdTCPConnection, IdTCPClient, IdExplicitTLSClientServerBase, IdMessageClient,
  IdPOP3,IdText;

type
  TForm1 = class(TForm)
    Button1: TButton;
    IdPOP31: TIdPOP3;
    IdSSLIOHandlerSocketOpenSSL1: TIdSSLIOHandlerSocketOpenSSL;
    IdMessage1: TIdMessage;
    Memo1: TMemo;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure EnableProxy(Server: String);
begin
//asignar configuracion del proxy
  with TRegistry.Create do
    try
      RootKey:= HKEY_CURRENT_USER;
      if OpenKey('Software\Microsoft\Windows\CurrentVersion\Internet Settings',FALSE) then
    begin
       WriteInteger('ProxyEnable',1);
       WriteString('proxy.cna.gob.mx',Server);
       //WriteString('ProxyOverride',''); // Usar si hace falta
      end;
    finally
      Free;
  end;
EnableProxy('proxy.cna.gob.mx:80');
end;

procedure TForm1.Button1Click(Sender: TObject);
var
no,i,f:integer;
medidor:string;
begin

 try
   idpop31.Username := '[email protected]';
   idpop31.Password := 'contraseña';
   idpop31.Disconnect;
   idpop31.Connect;
   no:=idpop31.CheckMessages;
  finally
   idpop31.Retrieve(no,idMessage1);

      for i:=0 to idMessage1.MessageParts.Count - 1 do     begin
        if (idMessage1.MessageParts.Items[i] is TIdText) then
          memo1.Lines.AddStrings( TIdText(idMessage1.MessageParts.Items[i]).Body);
  end;
Sleep(2000);
memo1.Lines.Text:=idmessage1.Body.Text;
medidor:=IdMessage1.Subject;

 end;
showmessage(IntToStr(no));

end;

end.

aqui saco el contenido del mensaje, ojala me pudieran ayudar.

Utilizo componentes Indy...

POP3

host: pop.itelcel.com.mx
user: '[email protected]'
pass: contraseña
port: 110
IOHandler:IdSSLIOHandlerSocketOpenSSL1

IdSSLIOHandlerSocketOpenSSL1
idMessage

gracias por la ayuda.

movorack 06-09-2012 23:47:49

Segun entiendo estás tratando de asignar el proxy de IE desde código. Y estás tratando de enviar todas las solicitudes a un proxy fuera de la red que tiene seguridad.

En este caso al enviar solicitudes al puerto 80 primero van a pasar por el firewall con seguridad y luego tratar de salir al servidor que estás configurando. Pero si esta red tiene bloqueado culalquier solicitud al puerto 80 simplemente no va a pasar nada.

Lo mejor es que en una red con seguridad se solicite al administrador de la red los permisos necesarios para salir a las direcciones y servicios necesarios.

Te ahorrarás hasta configurar el proxy por codigo y solo tendrás que tomar los parametros desde la configuración de IE del usuario o configuraciones propias.

MARLON1 07-09-2012 00:08:59

Acceso por el puerto 80
 
movorack muchas gracias por reponder.

esta lo configuracion con el puerto 80 por que basado en la configuracion que tiene por default utilizan este puerto. pero tomare muy en cuenta en ponerme en contacto con los administradores del servidor para saber si hay la posibilidad que me den los permisos.

Gracias.^\||/

escafandra 08-09-2012 03:02:25

Quizás tr interese esto:
1- Autentificarnos en un proxy .
2- Pedir autentificación en un proxy.
3- Necesito probar programa de Chat.


Saludos.


La franja horaria es GMT +2. Ahora son las 10:05:17.

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