Jump to content


Photo

Como Prever Erro 404


  • Faça o login para participar
4 replies to this topic

#1 Jhonathas.net

Jhonathas.net

    12 Horas

  • Usuários
  • 181 posts
  • Sexo:Não informado

Posted 14/01/2005, 13:17

Existe 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á.
Não ajunteis tesouros na terra, onde a traça e a ferrugem tudo consomem e aonde os ladrões minam e roubam;
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 viniciusjau

viniciusjau

    Veterano

  • Usuários
  • 1492 posts
  • Sexo:Masculino
  • Localidade:Jaú
  • Interesses:Web Designer em Geral

Posted 15/01/2005, 08:57

sei lá.. .tenta criar uma conexão com o endereço do site do cara. .

dai vc diz que se ele não encontrar o endereço não exibe o endereço...

#3 felipecm

felipecm

    Expert

  • Usuários
  • 541 posts
  • Sexo:Não informado
  • Localidade:ABC / SP

Posted 15/01/2005, 10:30

Existe 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á.

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.html (y)

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. (y)

Edição feita por: felipecm, 15/01/2005, 11:37.

MCAD, MCP

#4 Jhonathas.net

Jhonathas.net

    12 Horas

  • Usuários
  • 181 posts
  • Sexo:Não informado

Posted 17/01/2005, 09:07

Cara muito obrigado ficou demais a função, valewzaço,
Não ajunteis tesouros na terra, onde a traça e a ferrugem tudo consomem e aonde os ladrões minam e roubam;
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 [webmaster]®

[webmaster]®

    Hobby por criar funções genérica, semânticas e otimizadas

  • Usuários
  • 310 posts
  • Sexo:Não informado
  • Localidade:Canoas - RS
  • Interesses:ASP<br>CSS<br>JavaScript - DOM - ECMASCRIPT - JSCRIPT<br>XHTML<br>HTML<br>DHTML, AJAX, JSON, TABLELESS<br>ACESS<br>MYSQL<br>SQL SERVER<br><br>SEO, WEBSTANDARDS, ACESSIBILIDADE, USABILIDADE, AI

Posted 19/02/2005, 13:49

Então eu poderia fazer algo assim no final do função, depois dakilo tudo!
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.

Meus sites:
- 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)

IPB Skin By Virteq