Este componente permite que uma página ASP obtenha dados/ documentos através do protocolo HTTP. Mas, o que é o protocolo HTTP?
Hyper Text Transfer Protocol é o protocolo usado na World Wide Web para a distribuição e recuperação de informação. A troca de informações entre um browser e um servidor Web é toda feita através desse protocolo, que foi criado especificamente para a World Wide Web. O protocolo HTTP define uma forma de conversação no estilo pedido-resposta entre um cliente (browser) e um servidor ( servidor Web).
Toda a conversação se dá no formato ASCII (texto puro) através de um conjunto de comandos simples.
O ASPHTTP ,também pode postar dados para uma página web remoto. A capacidade de analisar dados fora de uma página da Web e colocá-lo em seu próprio formato é uma necessidade. O componente asphttp permite retirar a página web remota em seu código como uma string.
Instalando o Componente ASPHTTP
Para usar esse componente copie a DLL para um subdiretório (como \ winnt \ system32), e para registrar o componente, use o comando regsvr32. Atraves do menu Iniciar, aponte para executar e digite CMD, pressione <ENTER>, e digite:
regsvr32 asphttp.dll
Exemplo Simples HTTP
Vejamos agora, como é simples usar, primeiro ,crie o objeto, defina uma única propriedade e chame o método GetURL, o código a seguir demonstra como usar AspHTTP.
Set HttpObj = Server.CreateObject(“AspHTTP.Conn”)
HTTPObj.Url = “http://www.seu_dominio.com.br/qrtresults.html”
strResult = HTTPObj.GetURL
A variável strResult chamada ,contém uma seqüência que representa o documento que resulta de um GET de http://www. seu_dominio.com.br/qrtresults.html.
Postando os dados
AspHTTP lhe permite publicar dados de volta para o servidor web. O seguinte exemplo demonstra um pedido POST:
Set HttpObj = Server.CreateObject(“AspHTTP.Conn”)
HTTPObj.Url = “http:// www.seu_dominio.com.br/scripts/update3.asp”
HTTPObj.PostData = “uid=jimb&pwd=teste&id=32&val=1.5″
HTTPObj.RequestMethod = “POST”
strResult = HTTPObj.GetURL
A variável strResult ,contém uma seqüência que representa o documento que resulta de um POST para http://www. seu_dominio.com.br/scripts/update3.asp.
Propriedades AspHTTP
| Accept | A propriedade Accept indica o tipo de MIME , que pode ser aceito pelo programa solicitante.
Exemplo: HTTPObj.Accept = “*/*” |
| Authorization | O cabeçalho de autorização permite que você recupere as URLs que estão localizados em áreas autenticadas. Para utilizar a propriedade de Autorização, defina essa propriedade para o nome de usuário e senha, separados por dois pontos “:”, para a área protegida por senha.Exemplo:
HTTPObj.Authorization = “xanburzum:mxstudio” |
| BinaryData | Retorna os dados disponíveis a partir do pedido GetURL na forma binária. Você pode usar essa propriedade para pegar dados binários, como imagens fora de um outro servidor. Exemplo:
<% |
| ContentType | A propriedade ContentType permite especificar o conteúdo personalizado cabeçalhos tipo durante uma operação POST. Exemplo:
ContentType = “application/x-www-form-urlencoded” |
| Error | Relatórios de quaisquer erros que possam ocorrer durante a solicitação. |
| FollowRedirects | Diz ao componente para acompanhar as respostas de redirecionamento do servidor HTTP. Exemplo:
HTTPObj.FollowRedirects = true |
| Headers | A propriedade Headers contém os cabeçalhos de resposta da solicitação HTTP após o pedido completado por uma chamada para o método getURL. Exemplo:
Response.Write HTTPObj.Headers |
| HTTPLog | Nome do arquivo onde os dados de transações HTTP podem ser registrados. Exemplo:
HTTPObj.HTTPLog = “c:\httplog.txt” |
| MaxRedirects | Define o número máximo de vezes que um redirecionamento HTTP será permitido. O valor padrão é 3. |
| Port | A propriedade Port indica qual porta entrar em contato com o servidor HTTP.:
HTTPObj.Port = 80 |
| PostData | A propriedade PostData deve ser definida para os valores dos dados que pretende enviar para o servidor para um pedido de post. Exemplo:
HTTPObj.PostData = “suid=jimb&act=upd” |
| Protocol | A propriedade protocol indica qual a versão do HTTP a solicitação deve ser feita. Por padrão protocolo HTTP/1.0. Exemplo:
HTTPObj.Protocol = “HTTP/1.1″ |
| Proxy | Contém o endereço do proxy e a porta do servidor proxy separados por dois pontos.
Exemplo: HTTPObj.Proxy = “address.net:2001″ |
| ProxyPassword | Configura a senha do proxy HTTP para servidores proxy HTTP que requer autenticação. Apenas a autenticação básica é suportada. |
| RequestMethod | A propriedade RequestMethod indica que tipo de solicitação HTTP devem ser feitas para o servidor. Os valores válidos são “GET”, “POST” e “Head”. Exemplo:
HTTPObj.RequestMethod = “POST” |
| RegisteredUser | A propriedade RequestMethod indica a propriedade RegisteredUser indica o nome do componente está licenciado. Exemplo:
Response.Write ” Este componente está licenciado para ” & HTTPObj.RegisteredUser |
| Response | A propriedade de Response contém a resposta HTTP após um pedido ter sido recebido de um servidor web. |
| SaveFileTo | O SaveFileTo permite recuperar arquivos de qualquer tipo e tê-los automaticamente gravados em um disco do servidor local. Isso lhe permite recuperar arquivos binários, como imagens, bem como arquivos de texto, como arquivos HTML. Para usar a propriedade SaveFileTo defina o valor da SaveFileTo para o nome do diretório local e nome do arquivo onde o URL solicitado deve ser guardado. Certifique-se o usuário tem direitos de segurança que permitem a escrita do arquivo. Definir essa propriedade antes da chamada para GetURL se você deseja salvar em um arquivo. Exemplo:
HTTPObj.SaveFileTo = “c:\images\xanburzum.jpg” |
| TimeOut | A propriedade timeout determina quanto tempo o componente deve esperar por uma resposta do servidor HTTP. O tempo limite padrão é 60 segundos. Exemplo:
HTTPObj.TimeOut = 55 |
| URL | A propriedade URL deve ser definida para a URL que você desejar a solicitação. URLs deve ser precedida por http://. Exemplo:
HTTPObj.URL = “http://www.Seu_dominio.com/scripts/update.asp” |
| UserAgent | A propriedade UserAgent permite que o componente represente os navegadores, enviando um cabeçalho UserAgent no pedido. Exemplo:
HTTPObj.UserAgent = “Mozilla Compatible (MS IE 3.01 WinNT)” |
| Version | A propriedade versão indica a versão interna do componente AspHTTP. Exemplo:
Response.Write ” A versão do componente é ” & HTTPObj.Version |
Componente e Métodos AspHTTP
| Métodos | Parâmetros | Valor de retorno | Descrição |
| GetURL | None | String | GetURL retorna a resposta da solicitação HTTP. Esse valor é um valor de String e o componente atualmente não suporta valores de retorno binários como imagens GIF ou JPEG. |
| AddExtraHeader | String | None | Adiciona um cabeçalho HTTP personalizado ao pedido. Cabeçalhos personalizados podem incluir cabeçalhos navegador simulado como cabeçalhos IE resolução do monitor.HTTPObj.AddExtraHeader (“Cookie: ASPSESSIONID=EKKDDPSDKCCPZRNA; path=/kb”) |
| ClearExtraHeaders | None | None | Limpa os cabeçalhos de solicitação HTTP que foram criados usando AddExtraHeader. |
| GetHeader | String | String | Pega o valor de um cabeçalho específico após GetURL ser chamado. Se vários cabeçalhos têm o mesmo valor GetHeader retorna o primeiro. Para pesquisar todos os cabeçalhos. Exemplo:
strCookie = HTTPObj.GetHeader(“Set-Cookie”) Você poderia então, nas chamadas subseqüentes devolver o mesmo cookie do seguinte modo: if strCookie <> “” then |
| GetHeaders | None | String | Retorna todos os valores do cabeçalho para análise manual. Header CrLf valores são separados. |
| GetHREFs | None | Variant array of Strings | Após uma chamada para GetURL você pode chamar GetHREFs para analisar qualquer tag <a href=”"> no HTML. GetHREFs retorna uma matriz de variante de String que você ainda pode analisar ou mostrar. |
| URLDecode | strValue | String | Decodifica uma seqüência de URL encoded |
| URLEncode | strValue | String | Codifica uma string para um valor de URL legal. Exemplo:
HTTPObj.URL = “http://www.teste.com.br?” & HTTPObj.URLEncode(“avalue= Este é um valor com espaços “) |
<%
' Cria uma instância do controle
Set AspHTTP = Server.CreateObject("AspHTTP.Conn")
' Informa a URL da página a ser consultada
AspHTTP.Url = "http://www.asphttp.com.br/asphttp.asp"
' Resgada o resultado
str_Resultado = AspHTTP.GetURL
' Tira o objeto da memória
Set AspHTTP = Nothing
' Imprime o valor resgatado na tela.
Response.Write str_Resultado%>
<%
' Cria uma instância do controle
Set AspHTTP = Server.CreateObject("AspHTTP.Conn")
' Informa a URL da página a ser consultada
AspHTTP.Url = "http://www.asphttp.com.br/asphttp.asp"
' Envia os dados para a página
AspHTTP.PostData = "campo1=Valor1&campo2=Valor2&campo3=Valor3&campo4=Valor4"
' Informa que o método da consulta
AspHTTP.RequestMethod = "POST"
' Resgada o resultado
str_Resultado = AspHTTP.GetURL
' Tira o objeto da memória
Set AspHTTP = Nothing
' Imprime o valor resgatado na tela. Response.Write str_Resultado%> Mais informações: http://www.serverobjects.com/products.html
Últimos Comentários