FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Puedo puedo recibir y redirigir http con Free Pascal bajo Linux ?
Hola a todos,
Necesito ayuda para evaluar si puedo usar Free Pascal bajo Linux para resolver el siguiente problema : Tengo un programa cliente que envía comandos POST de http a un servidor. Tanto mi servidor como mi cliente los tengo en Windows escritos con Delphi, con el servidor desarrollado bajo los TWebApplication. Necesito colocar un servidor intermedio entre mi cliente y mi servidor, el cual estará en Linux. La idea es que reciba los http, haga un preprocesamiento y luego envíe el comando http definitivo (o sea, con la modificación del preprocesamiento) al servidor Windows. Hacer eso teniendo un servidor intermedio también en Windows me es sumamente facil; menos de hora de trabajo. Mi problema es que necesito que el servidor intermedio sea Linux. Tengo muchos años de experiencia en Delphi; pero, no tengo ni idea de Linux, ni por supuesto ninguna experiencia de programación en Linux. Contratar a alguién para ello es mi primera opción; pero, por donde yo vivo, es dificil porque muy pocos saben programar en Linux. Sin embargo, he escuchado de Free Pascal y quiero aprovechar que una persona nos dictará un curso de Linux (no maneja la parte de programación) para ver si yo mismo puedo resolver el problema usando Free Pascal. Lo que quiero por tanto es que me ayuden a evaluar si se justifica intentar usar Free Pascal para esto, teniendo en cuenta que no hay necesidad de desarrollar otras cosas sobre Linux y que el tiempo de que dispongo para investigar esa opción es escaso. Agradezco cualquier sugerencia |
#2
|
||||
|
||||
Lo que no he entendido bien es qué quieres hacer en ese equipo linux.
|
#3
|
|||
|
|||
Más detalles
Hola,
Muchas gracias por el interés. Explicó mejor : La idea es tener una Web server application en Linux que reciba las peticiones http, las descomponga, transforme la petición en sí, y genere una nueva petición, que es la que devolverá finalmente el resultado. A continuación voy a colocar un ejemplo simplificado de lo que sería el módulo Web en Delphi, y al final comento un poco más
Como puedes apreciar, el corazón es simplemente el evento BeforeDispatch. La petición en sí es el Request.Content, yo llamaría una función que reciba ese valor y lo transforme en una nueva petición (un nuevo Content). Ahí también respeto el pathinfo y cambio el dominio al de mi servidor Windows. Finalmente, usando Indy efectuo un nuevo Post en el método EnviarPostRequest (por supuesto esa rutina es muy simplificada respecto a la real; pero, creo que ilustra la idea). Lo que quiero saber es si puedo escribir con Free Pascal, o similar, una rutina así de simple en Linux. En caso de poderse, agradecería cualquier ayuda de cuales componentes debería buscar para ello, así como cualquier sugerencia básica. Si piensas que hacerlo tomaría mucho tiempo, y que es mejor que busque a alguien para que escriba ese programa, agradecería el consejo Por cierto, y para una mayor claridad, el dpr de esta librería en Delphi es :
Nota : La línea CoInitFlags la genera Delphi; pero, yo siempre la pongo en comentarios por algún problema que me dió hace tiempo y del cual ya no me acuerdo Saludos |
#4
|
||||
|
||||
Poder, seguro que se puede. Desgraciadamente yo no tengo conocimientos sobre ese tema como para ayudarte. Veamos si algún compañero puede echarte una mano.
|
#5
|
||||
|
||||
Con Lazarus/Free Pascal no sé, pero si la conexión la estás haciendo por HTTP puedes aprovechar las capacidades "rewrite" de algún servidor web como Apache, lighttpd, Nginx, etc. Esto consiste en configurar el servidor, a veces creando un archivo en la raíz de datos, en el cual le dices que las peticiones que cumplan ciertos requisitos se redirijan a otro camino diferente.
Para que te hagas una idea, ese "truco" lo utilizan prácticamente todos los programas de gestión de "blogs", que analizan la URL y la traducen en una petición a la página que realmente obtiene y muestra la entrada. Así puedes escribir "www.misitio.com/articulo/me_voy_de_vacaciones" en lugar de "www.misitio.com/articulo/index.php?id=me_voy_de_vacaciones". Aquí tienes información de la Wikipedia, para que veas lo que es. |
#6
|
|||
|
|||
Gracias. Comentarios
Hola,
Muchas gracias a ambos por el interes. El truco de redirección ya lo había estudiado; pero, está descartado. Entre otras cosas porque el Content del Post es información encriptada con algoritmo propio. Por lo que veo el tema no es muy conocido en la comunidad; pero, quizás pueden ayudarme con esto : Al menos, la equivalencia entre Delphi y Lazarus/Free Pascal para el tema aplicaciones Web, tanto en cliente como en servidor, existe en términos de componentes similares ?. Lo digo porque la lista de componentes que he visto en el sitio de Free Pascal es muy diferente a los de Delphi; pero, los comentarios dicen que pasar de Delphi a Free pascal es muy facil ? |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Comparativa entre Free Pascal 2.2.0 y Turbo Pascal 7.0 | esocrates | Varios | 2 | 14-07-2008 14:56:24 |
stringgrid , puedo recibir valores ? | martita | OOP | 2 | 04-07-2005 19:21:03 |
manual de excepciones de object pascal para free pascal??? | Garion | OOP | 3 | 27-05-2005 00:42:29 |
¿Cómo puedo enviar y recibir archivos vía IRC con el componente TIdIRC? | DarkByte | Internet | 4 | 26-06-2004 17:54:05 |
Como puedo enviar y recibir imagenes por Internet | JDNA | Internet | 4 | 29-03-2004 22:41:09 |
|