Ir para conteúdo
🥇 [Exclusivo] Seja um Membro VIP EXTREME! ×
  • Quem está por aqui   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.

Delphi: Desenvolvendo um Web Server


Posts Recomendados

Introdução

 

Neste artigo iremos desenvolver passo a passo um simples web server, demonstrando a troca de informações entre este e o browser.

 

Código HTML

 

São necessários alguns conhecimentos em HTML, sobretudo FORMs.

Salve o código abaixo em um arquivo no diretório indicado em um Alias do IIS(Exemplo de configuração do IIS no anexo1) com o nome de form.htm.

 

É necessário se cadastrar para acessar o conteúdo.

 

Criação do web server (CGI)

 

Iremos criar um CGI simples para receber os dados do formulário do arquivo form.htm.

File / New / Other :

app.jpg

Devemos agora escolher o tipo de Web Server que desejamos criar. Neste exemplo utilizaremos "CGI Stand-alone".

cgi.jpg

Foi criado um WebModule sem nenhum componente.

 

A classe TWebModule é descendente de TDataModule, container de componentes não visuais(Acesso a banco de dados, interação com Office, ..), porem o TWebModule possui "Action Itens", responsáveis pelo request e response (receber e enviar) de dados em sua aplicação.

 

Breves conceitos sobre as actions.

 

Um CGI pode tratar várias requisições de maneiras diferentes, utilizando os actions.

 

Por exemplo:

 

* "http://127.0.0.1/artigo/exemplo.exe" trata a Action definida como Default.

* "http://127.0.0.1/artigo/exemplo.exe/form" trata a Action com PathInfo = "form".

* "http://127.0.0.1/artigo/exemplo.exe/email" trata a Action com PathInfo = "email".

 

Configuração do WebModule

 

Delphi: Desenvolvendo um Web Server

Publicado em: 08/07/2005

Compartilhe

 

Introdução

 

Neste artigo iremos desenvolver passo a passo um simples web server, demonstrando a troca de informações entre este e o browser.

 

Código HTML

 

São necessários alguns conhecimentos em HTML, sobretudo FORMs.

Salve o código abaixo em um arquivo no diretório indicado em um Alias do IIS(Exemplo de configuração do IIS no anexo1) com o nome de form.htm.

 

<HTML>

<HEADER>

<TITLE>Formulário: Teste</TITLE>

</HEADER>

<BODY>

<FORM METHOD="POST" ACTION="exemplo1.exe">

Nome:<INPUT TYPE="TEXT" NAME="NOME"><BR>

Apelido:<INPUT TYPE="TEXT" NAME="APELIDO"><BR>

Telefone: <INPUT TYPE="TEXT" NAME="TELEFONE"><BR>

<INPUT TYPE="RESET" VALUE="Limpar campos">

<INPUT TYPE="SUBMIT" VALUE="Enviar dados">

</FORM>

</BODY>

</HTML>

 

Criação do web server (CGI)

 

Iremos criar um CGI simples para receber os dados do formulário do arquivo form.htm.

File / New / Other :

 

Devemos agora escolher o tipo de Web Server que desejamos criar. Neste exemplo utilizaremos "CGI Stand-alone".

 

Foi criado um WebModule sem nenhum componente.

 

A classe TWebModule é descendente de TDataModule, container de componentes não visuais(Acesso a banco de dados, interação com Office, ..), porem o TWebModule possui "Action Itens", responsáveis pelo request e response (receber e enviar) de dados em sua aplicação.

 

Breves conceitos sobre as actions.

 

Um CGI pode tratar várias requisições de maneiras diferentes, utilizando os actions.

 

Por exemplo:

 

* "http://127.0.0.1/artigo/exemplo.exe" trata a Action definida como Default.

* "http://127.0.0.1/artigo/exemplo.exe/form" trata a Action com PathInfo = "form".

* "http://127.0.0.1/artigo/exemplo.exe/email" trata a Action com PathInfo = "email".

 

Configuração do WebModule

 

No object inspector, nas propriedades do WebModule devemos editar as Actions. Clicando com o botão direito do mouse na janela "Editing Webmodule1.Action" clicando em Add. Mude a propriedade Default deste Action criado para True e seu PathInfo para "/form". A propriedade MethodType define a forma do fluxo dos dados entre o navegador e o CGI. Utilizaremos POSTO como o utilizado no formulário do HTML(arquivo form.htm).

 

Evento OnAction do Action criado.

 

As Actions recebem (TWebRequest) e retornam (TWebResponse) informações com o browser.

 

Cada Action possui um PathInfo associado, o que nos oferece eventos OnAction para cada um deles. Assim tratamos as requisições de forma diferente.

 

Assinatura do evento OnAction:

 

procedure WebModule1WebActionItem1Action(Sender: TObject; Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);

 

Request: Requisição feita pelo cliente

Response: Resposta que retornará ao cliente

Handled: Outros Actions podem completar a resposta desta requisição. Neste caso Handled deve ser False.

 

Visto algums conceitos sobre os Actions, iremos implementar um código simples para responder os dados enviados pelo HTML. Vamos codificar então o responsável pelo recebimento e envio de respostas da nossa aplicação.

 

É necessário se cadastrar para acessar o conteúdo.

 

Iremos então compilar o projeto e copiarmos o executável no Path indicado pelo IIS com o nome exemplo1.exe (ou o mesmo indicado pelo HTML).

 

Pronto! Temos um simples Web Server funcionando!

 

browser.jpg

 

Anexo 1:

 

Configurando IIS

 

Configurar o IIS (Internet Information Services) que será nosso servidor web é uma tarefa simples, porém para facilitar o desenvolvimento do exemplo do artigo iremos seguir passo a passo.

 

No "Painel de Controle" / "Ferramentas Administrativas" clique em "Gerenciador do Internet Services"

 

iis1.jpg

 

Iremos criar uma nova "Pasta Virtual". Nela relacionaremos um endereço web a um diretório local ("http://127.0.0.1/cgi-bin/exemplo.exe" apontar para "c:\www\exemplo.exe").

 

Alias é o apelido de sua pasta virtual. No endereço "http://127.0.0.1/cgi-bin/exemplo.exe" o alias seria "cgi-bin".

 

Agora iremos indicar o diretório local onde está nosso aplicativo "c:\www\exemplo.exe" por exemplo.

 

MUITO IMPORTANTE: Marcar a opção executar ISAPI ou CGI. Caso esta opção não seja marcada ao tentar acessar o aplicativo pelo browser irá ser feito download do aplicativo, não sendo executado como desejado. Não se esqueça também de iniciar no servidor web caso ele não esteja ativo.

 

Créditos

Gustavo

Surf

Link para o comentário
https://www.webcheats.com.br/topic/284705-delphi-desenvolvendo-um-web-server/
Compartilhar em outros sites

que massa manu, sempre quis criar um bagulho desse.

depois eu vou tentar criar, agora, preguisaaa !

 

asuahsuash vlw manu

Link para o comentário
https://www.webcheats.com.br/topic/284705-delphi-desenvolvendo-um-web-server/#findComment-1561617
Compartilhar em outros sites

hum, bem legal, quando eu tive tempo eu vo tenta fazer um xD

nem sei se funciona ainda, mas ja vo da thanks pelo topico bem feito e bem explicado, vlw ae surf.

 

flw, abraços.

Link para o comentário
https://www.webcheats.com.br/topic/284705-delphi-desenvolvendo-um-web-server/#findComment-1561837
Compartilhar em outros sites

Poxa gente facil de criar isso em minutos dar pra criar se quizer source so pedir

Link para o comentário
https://www.webcheats.com.br/topic/284705-delphi-desenvolvendo-um-web-server/#findComment-1561899
Compartilhar em outros sites

Poxa e que eu to sem Servidor para Web Server ai nao pega

Mas tente fazer e facil nen tao assim mas dar pra fazer

Link para o comentário
https://www.webcheats.com.br/topic/284705-delphi-desenvolvendo-um-web-server/#findComment-1566123
Compartilhar em outros sites

Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...

Informação Importante

Nós fazemos uso de cookies no seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies , caso contrário, vamos supor que você está bem para continuar.