terça-feira, 16 de setembro de 2025
Home
Artigos
Banco de Dados
Access
Firebird
Microsoft SQL Server
MySql
Oracle
Sybase
BI
QlikView
Dicas de Internet
e-business
Hardware
Multimídia
Flash
Programação
.NET/ASP.NET
.NET/C#
.NET/Framework
.NET/VB.NET
ASP
C/C++
Clipper
Cobol
CSS
Delphi
Java
Javascript
JSP
Palm
Perl
PHP
Shell
Visual Basic
WAP
Redes
Segurança
Servidores E-mail
Servidores Web
Apache
Microsoft IIS
Sistemas Operacionais
AIX
DOS
HPUX
Linux
Palm OS
Solaris
True64
Windows 7
Windows 9X
Windows NT
Windows Vista
Windows XP
Software Review
PC
Storages
Veritas VM
Conteúdo atual do site:
[807] ítens, entre artigos, funções e documentos.
Pesquisa Rápida:
Últimos 3 acessos:
Alexandre Neves 03/03/2015 11:08:01 167 acesso(s) alexandre neves 03/03/2015 11:06:42 1 acesso(s) Marcelo Torres 21/01/2015 15:24:53 61 acesso(s)
Opções:
Listagem completa Listagem simples
Ranking Colaboradores:
Adenilton Rodrigues - [304] Alexandre Neves - [61] Douglas Freire - [54] Marcelo Giovanni - [53] Marcelo Torres - [43] Angelita Bernardes - [31] Addy Magalhães Cunha - [28] Manuel Fraguas - [24] Ludmila Valadares - [20] Marcelo Capelo - [18]
Um conjunto de rotinas para integração do Delphi com a Internet usando protocolo HTTP.
// // Uses IdAntiFreezeBase, IdAntiFreeze, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdHTTP; // //============================================================================== // Executa um Get em um servidor WEB e recupera o resultado como Binario //============================================================================== // Parametros: // // URLFile : Endereço WEB do arquivo a ser executado // ResultBuffer : Stream que retornara o resultado da requisicao // HttpStatus : String por referência que retornará o status da requisicao http // FProxyServer : Opcional: Nome do servidor de proxy // FProxyPort : Opcional: Porta do servidor de proxy // FUserName : Opcional: Login do usuário quando necessário autenticacao // FPassword : Opcional: Senha do usuário quando necessário autenticacao // ProtocolVersion : Versão do protocolo HTTP, pode ser 1.0 ou 1.1 //============================================================================== Procedure HttpGetBinary(URLFile:String; ResultBuffer:TMemoryStream; Var HttpStatus:String; FProxyServer, FProxyPort, FUserName, FPassword:String; ProtocolVersion:String); Var Http : TIDHttp; Freeze : TIdAntiFreeze; Begin Try Http := TIDHttp.Create(Nil); Freeze := TIdAntiFreeze.Create(nil); If (ProtocolVersion = '1.1') or (ProtocolVersion = '11') Then Begin HTTP.ProtocolVersion := pv1_1; End Else Begin HTTP.ProtocolVersion := pv1_0; End; HTTP.Request.Username := FUserName; HTTP.Request.Password := FPassword; If FProxyServer<>'' Then Begin HTTP.Request.ProxyParams.ProxyServer := FProxyServer; HTTP.Request.ProxyParams.ProxyPort := StrToInt(FProxyPort); End; Try ResultBuffer.Clear; Http.Get(URLFile,ResultBuffer); ResultBuffer.Position := 0; HttpStatus := Http.ResponseText; Except HttpStatus := Http.ResponseText; End; Finally Freeze.Free; Http.Free; End; End; //============================================================================== // Executa um Get em um servidor WEB e recupera o resultado como String //============================================================================== // Parametros: // // URLFile : Endereço WEB do arquivo a ser executado // ResultBuffer : String que retornara o resultado da requisicao // HttpStatus : String por referência que retornará o status da requisicao http // FProxyServer : Opcional: Nome do servidor de proxy // FProxyPort : Opcional: Porta do servidor de proxy // FUserName : Opcional: Login do usuário quando necessário autenticacao // FPassword : Opcional: Senha do usuário quando necessário autenticacao // ProtocolVersion : Versão do protocolo HTTP, pode ser 1.0 ou 1.1 //============================================================================== Procedure HttpGetString(URLFile:String; Var ResultBuffer:String; Var HttpStatus:String; FProxyServer, FProxyPort, FUserName, FPassword:String; ProtocolVersion:String); Var Http : TIDHttp; Freeze : TIdAntiFreeze; Begin Try ResultBuffer := ''; Http := TIDHttp.Create(Nil); Freeze := TIdAntiFreeze.Create(nil); If (ProtocolVersion = '1.1') or (ProtocolVersion = '11') Then Begin HTTP.ProtocolVersion := pv1_1; End Else Begin HTTP.ProtocolVersion := pv1_0; End; HTTP.Request.Username := FUserName; HTTP.Request.Password := FPassword; If FProxyServer<>'' Then Begin HTTP.Request.ProxyParams.ProxyServer := FProxyServer; HTTP.Request.ProxyParams.ProxyPort := StrToInt(FProxyPort); End; Try HttpStatus := ''; ResultBuffer := Http.Get(URLFile); HttpStatus := Http.ResponseText; Except HttpStatus := Http.ResponseText; End; Finally Freeze.Free; Http.Free; End; End; //============================================================================== // Executa um post em um servidor WEB e recupera o resultado como String //============================================================================== // Parametros: // // URLFile : Endereço WEB do arquivo a ser executado // ResultBuffer : String por referencia que retornara o resultado da requisicao // DataBuffer : String contendo as variaveis a serem passadas ao post // FProxyServer : Opcional: Nome do servidor de proxy // FProxyPort : Opcional: Porta do servidor de proxy // FUserName : Opcional: Login do usuário quando necessário autenticacao // FPassword : Opcional: Senha do usuário quando necessário autenticacao // HttpStatus : String por referência que retornará o status da requisicao http // ProtocolVersion : Versão do protocolo HTTP, pode ser 1.0 ou 1.1 //============================================================================== Procedure HttpPostString(URLFile:String; Var ResultBuffer:String; Var HttpStatus:String; DataBuffer, FProxyServer, FProxyPort, FUserName, FPassword:String; ProtocolVersion:String); Var Http : TIDHttp; Freeze : TIdAntiFreeze; oDataBuffer : TStringList; oRespBuffer : TStringStream; Begin Try ResultBuffer := ''; Http := TIDHttp.Create(Nil); Freeze := TIdAntiFreeze.Create(nil); If (ProtocolVersion = '1.1') or (ProtocolVersion = '11') Then Begin HTTP.ProtocolVersion := pv1_1; End Else Begin HTTP.ProtocolVersion := pv1_0; End; HTTP.Request.Username := FUserName; HTTP.Request.Password := FPassword; HTTP.Request.ContentType := 'application/x-www-form-urlencoded'; If FProxyServer<>'' Then Begin HTTP.Request.ProxyParams.ProxyServer := FProxyServer; HTTP.Request.ProxyParams.ProxyPort := StrToInt(FProxyPort); End; Try HttpStatus := ''; oDataBuffer := TStringList.Create; oRespBuffer := TStringStream.Create(''); oDataBuffer.Text := DataBuffer; Http.Post(URLFile,oDataBuffer,oRespBuffer); ResultBuffer := oRespBuffer.DataString; oRespBuffer.Free; oDataBuffer.Free; HttpStatus := Http.ResponseText; Except HttpStatus := Http.ResponseText; End; Finally Freeze.Free; Http.Free; End; End; //============================================================================== // Executa um post em um servidor WEB e recupera o resultado como Binario //============================================================================== // Parametros: // // URLFile : Endereço WEB do arquivo a ser executado // ResultBuffer : Stream que retornara o resultado da requisicao // DataBuffer : String contendo as variaveis a serem passadas ao post // FProxyServer : Opcional: Nome do servidor de proxy // FProxyPort : Opcional: Porta do servidor de proxy // FUserName : Opcional: Login do usuário quando necessário autenticacao // FPassword : Opcional: Senha do usuário quando necessário autenticacao // HttpStatus : String por referência que retornará o status da requisicao http // ProtocolVersion : Versão do protocolo HTTP, pode ser 1.0 ou 1.1 //============================================================================== Procedure HttpPostBinary(URLFile:String; Var ResultBuffer:TMemoryStream; Var HttpStatus:String; DataBuffer, FProxyServer, FProxyPort, FUserName, FPassword:String; ProtocolVersion:String); Var Http : TIDHttp; Freeze : TIdAntiFreeze; oDataBuffer : TStringList; Begin Try ResultBuffer.Clear; Http := TIDHttp.Create(Nil); Freeze := TIdAntiFreeze.Create(nil); If (ProtocolVersion = '1.1') or (ProtocolVersion = '11') Then Begin HTTP.ProtocolVersion := pv1_1; End Else Begin HTTP.ProtocolVersion := pv1_0; End; HTTP.Request.Username := FUserName; HTTP.Request.Password := FPassword; HTTP.Request.ContentType := 'application/x-www-form-urlencoded'; If FProxyServer<>'' Then Begin HTTP.Request.ProxyParams.ProxyServer := FProxyServer; HTTP.Request.ProxyParams.ProxyPort := StrToInt(FProxyPort); End; Try HttpStatus := ''; oDataBuffer := TStringList.Create; oDataBuffer.Text := DataBuffer; Http.Post(URLFile,oDataBuffer,ResultBuffer); oDataBuffer.Free; HttpStatus := Http.ResponseText; Except HttpStatus := Http.ResponseText; End; Finally Freeze.Free; Http.Free; End; End; Quebra-Linha Colaborador..: Adenilton Rodrigues Categoria(s).: ASP; Data.........: 11/04/2002 14:56:22 Visualizado..: 2571 vezes Fonte........: AdeN Knowledge DB
Adenilton Rodrigues
Últimos Artigos deste colaborador Aplicação Intraweb com Main Menu e Frames - 16/05/2005 20:37:49 SQL em tabelas com Join em Access - 24/01/2005 21:06:59 Descarregando DLL's ISAPI/ACTIVEX/INTRAWEB - 10/12/2004 22:52:37
Últimos Artigos desta categoria Gerador de Codigo de Verificação REDECARD - 14/05/2008 23:53:10 Gerar um Excel apartir de um ASP - 18/07/2007 14:11:57 LongIP para StringIP - 11/02/2005 18:00:05
40 pessoa(s) on-line neste site.