ASPHTTP

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:

<%
Response.ContentType = “image/gif”
Set HTTPObj = Server.CreateObject(“AspHTTP.Conn”)
HTTPObj.Url = “http://www.microsoft.com/library/images/gifs/toolbar/write.gif”
HTTPObj.GetURL
Response.BinaryWrite HTTPObj.BinaryData
%>

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
HTTPObj.AddExtraHeader “Cookie: ” & strCookie
end if

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 “)

Resgastando dados de uma URL

<%
' 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%>

Postando dados para uma URL

<%
' 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
Escrito por X@nBuRzUm on janeiro 26, 2010. Arquivado em ASP.net, Geral, Programação, Usabilidade. Você pode seguir as respostas a esse artigo pelo RSS 2.0. Você pode deixar respostas para esse artigo

Deixe uma resposta

O seu endereço de email não será publicado Campos obrigatórios são marcados *

*

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>