Como Prever Erro 404
#1
Posted 14/01/2005, 13:17
ou melhor dizendo se o link esta ou não fora do ar,
motivo vou fazer um sistema q vai verificar se o link esta ou nao no ar, pois o servidor dono do link tem ipfixo e caso esteje desligado o link pra um sistema q vai estar nesse servidor não aparecerá.
Mas ajuntai tesouros no céu, onde nem a traça nem a ferrugem consomem, e aonde os ladrões não minam nem roubam.
MT 6 . 19
Jhonathas da Silveira de Matos (UIN: 57422166 / MSN: jhon_asp)
#2
Posted 15/01/2005, 08:57
dai vc diz que se ele não encontrar o endereço não exibe o endereço...
#3
Posted 15/01/2005, 10:30
Bom, como vc quer acesso a paginas externas segue o mesmo exemplo q eu utilizei para o do Bovespa uns posts atras.. o uso do XMLHttp pra recuperar se o arquivo existe ou não.. apos o metodo Send(), a propriedade Status retorna o erro que ocorreu.. os possívels erros são os de sempre. http://www.w3.org/Pr...2616-sec10.htmlExiste uma possibilidade de eu verificar se um endereço existe antes de eu cadastralo ?
ou melhor dizendo se o link esta ou não fora do ar,
motivo vou fazer um sistema q vai verificar se o link esta ou nao no ar, pois o servidor dono do link tem ipfixo e caso esteje desligado o link pra um sistema q vai estar nesse servidor não aparecerá.
Function ExisteUrl(strUrl) 'Retorna se a Url é válida ou não 'mail/msn: <fmosca@ajato.com.br> On Error Resume Next Set XMLHttp = Server.CreateObject("Microsoft.XMLHTTP") XMLHttp.open "HEAD", strUrl, false XMLHttp.Send() If Err.Number <> 0 Then ExisteUrl = 500 Else ExisteUrl = XMLHttp.Status End If Set XMLHttp = Nothing End Function Response.Write ExisteUrl("http://forum.wmonline.com.br") & "<br>" Response.Write ExisteUrl("http://forum.wmonline.com.br/joao.html") & "<br>" Response.Write ExisteUrl("http://forum.wmonline.com.BeÉrre") & "<br>"
A function recupera o número do erro.
O unico incoveniente é q vc vai depender da velocidade da leitura do cabeçalho do site, caso este exista. Caso o dominio seja inexistente, retorna 500, (por isso o tratamento do erro). Pra usar vc verifica tudo que for diferente de 200, é erro.
Edição feita por: felipecm, 15/01/2005, 11:37.
#4
Posted 17/01/2005, 09:07
Mas ajuntai tesouros no céu, onde nem a traça nem a ferrugem consomem, e aonde os ladrões não minam nem roubam.
MT 6 . 19
Jhonathas da Silveira de Matos (UIN: 57422166 / MSN: jhon_asp)
#5
Posted 19/02/2005, 13:49
If Cint(ExisteUrl) <> 200 Then ExisteUrl = False Else ExisteUrl = True End If
Ou Então substituir akela condição lá da função que o cara deu, e colocar esta:
If Err.Number = 0 And XMLhttp.Status = 200 Then ExisteUrl = True Else ExisteUrl = False End If
Edição feita por: [webmaster]®, 19/02/2005, 13:54.
- Guia Camaquã
- Laroya atacadista
- Emílio confecções
Ocupação: WebDeveloper avançado
Contato:
Email: gutoasp[at]gmail[dot]com
MSN: gutoasp[at]hotmail[dot]com
Trabalhando desde 1999 com websites.
Para saber mais sobre meu trabalho, sobre o que faço, e o que sei, clique aqui!
0 user(s) are reading this topic
0 membro(s), 0 visitante(s) e 0 membros anônimo(s)