Validar URL

810 views
Skip to first unread message

Leandro Spadaro

unread,
Aug 2, 2009, 7:43:48 PM8/2/09
to (Grupo Java Google) Lista, Grupo Java BS AS, Grupo Java Mexico Java
Que tal,
 
Necesito validar direcciones de URL, pensaba en expresiones regulares.
Alguien tendra alguna expresión en java regular ó alguna forma de validar una URL que funciones por que las que estan
en internet que probe no funcionan de forma correcta.
 
saludos.
Leandro


Gratis y optimizado para MSN Nuevo Internet Explorer 8

Matias Tito

unread,
Aug 2, 2009, 9:05:42 PM8/2/09
to jav...@googlegroups.com
Qué pinta tiene la URL?

2009/8/2 Leandro Spadaro <leo_s...@hotmail.com>

Leandro Spadaro

unread,
Aug 2, 2009, 9:10:14 PM8/2/09
to (Grupo Java Google) Lista
En realdiad es un sitio web en donde en una de las páginas se ingresan los datos de empresas, dentro de estos datos
uno es la url del sitio de la empresa.
No es que tengo una url en particular para validar.
 
saludos.
Leo.
 

Date: Sun, 2 Aug 2009 22:05:42 -0300
Subject: [JavaSOS] Re: Validar URL
From: matia...@gmail.com
To: jav...@googlegroups.com

Matias Tito

unread,
Aug 2, 2009, 10:05:54 PM8/2/09
to jav...@googlegroups.com
Usá la clase URL

2009/8/2 Leandro Spadaro <leo_s...@hotmail.com>

Ortigoza Ruben

unread,
Aug 2, 2009, 9:21:14 PM8/2/09
to jav...@googlegroups.com
Hola...una de las formas de validar la url, entiendo por validar que este activa, es haciendo un ping.
Fijate si te sirve...
 
 
Saludos

Matias Tito

unread,
Aug 3, 2009, 11:40:13 AM8/3/09
to jav...@googlegroups.com
Podés crear el Objeto URL y luego ejecutar el método openConnection, te decuelve otro objeto  le podés pedir cosas interesantes como el responsecode; después de todo esto tenés que cerrar la conexión.
De todos modos no sé qué necesitás porque si necesitar validar que el string que te pasen sea una URL, el objeto URL te tira una Malfourmed Exception en el momento de instanciarlo.

2009/8/2 Ortigoza Ruben <ran...@gmail.com>

David Castañeda

unread,
Aug 3, 2009, 3:38:26 PM8/3/09
to jav...@googlegroups.com
Segun mi entendimiento, tu lo que quieres es validar una direccion web
del sitio de una empresa en un formulario de ingreso de datos, creo
que la clase URL no es la mejor opción para ti en este caso ya que por
ejemplo te diría que esta mal www.google.com, porque la clase URL
necesita TODA la URL incluyendo protocolo, o peor aun te va a decir
que ftp://www.google.com es valida que no creo que sea valido para ti.
Y mas chistoso aún es que con "http://123-www!$$.google.net" y la
clase URL me dice que es valida, y por especificación no lo es.

La opción de ping no es valida porque nada asegura que el servidor
responda ping.

Lo que mejor te vendria es utilizar una expresion regular, pero
desafortunadamente no conozco una que sea perfecta, prueba con
"(http|https):\\/\\/(\\w+:{0,1}\\w*@)?(\\S+)(:[0-9]+)?(\\/|\\/([\\w#!:.?+=&%@!\\-\\/]))?"
... sigue teniendo errores pero talvez te de un punto de inicio.

Ahora a lo que iba mi comentario (casi se me iba olvidando) es que
deberias revisar bien si realmente es útil validar la URL del sitio
web del cliente, porque aun si la URL es válida podria contener un
caracter erroneo (URL correcta pero apuntando a otro sitio
inexistente), ó podria estar asociada a un sitio caido, ó etc.

La unica forma real, en mi opinion, de implementar esto, si la
aplicación lo demandara, seria realizando un proceso de validación por
un humano que cuando cambien la URL sea aprobada manualmente y luego
confirme la información. (como en los sitios publicos donde se suben
imagenes que quedan sin publicar hasta que no se valide que no sea
algo XXX) pero esto rara vez es necesario.


Saludos,


2009/8/3 Matias Tito <matia...@gmail.com>:
--
David Castañeda R.

Jorge Handl

unread,
Aug 3, 2009, 5:09:51 PM8/3/09
to jav...@googlegroups.com
Para validar que la URL sea correcta (más allá de si está bien formada) no es necesaria la intervención de un curador, siempre que el cliente tenga control del sitio: se le pide que agregue en un lugar inocuo de la página una cadena de caracteres generada (distinta para cada cliente), luego se lee la página y se verifica que contiene la cadena.

2009/8/3 David Castañeda <davi...@gmail.com>

David Castañeda

unread,
Aug 3, 2009, 8:51:45 PM8/3/09
to jav...@googlegroups.com
Aunque tecnicamente posible y facil de implementar (de nuestro lado),
en la gran mayoria de los casos no es viable, porque requiere que los
clientes hagan modificaciones a sus sitios web, y si piensas que
tienes una base de empresas > 1000, convinados en cuanto lenguaje,
plataformas, frameworks, web servers, permisos, políticas de la
empresa, etc etc, es un tema que no es tan facil de manejar.



2009/8/3 Jorge Handl <jha...@gmail.com>:
--
David Castañeda R.

Oscar Alvarez

unread,
Aug 3, 2009, 10:29:28 PM8/3/09
to jav...@googlegroups.com
Si utilizas Struts2, podrias utilizar el validador de URLs

http://struts.apache.org/2.x/docs/url-validator.html
--
Atentamente
Óscar Álvarez Vielma
(09) 8416 4052

Jorge Handl

unread,
Aug 4, 2009, 6:19:06 AM8/4/09
to jav...@googlegroups.com
Lo entiendo, pero como Google hace eso para garantizar que tenés control de un sitio, me pareció pertinente mencionarlo.
Saludos!

2009/8/3 David Castañeda <davi...@gmail.com>

Lisandro

unread,
Aug 3, 2009, 12:05:01 PM8/3/09
to jav...@googlegroups.com
w{3}\.[\w,\d,\-,\_]*\.[com,net,org]

Eso valida en regex www.cualquier_text_o_numero.com .net o .org eso podes adaptarlo a lo que necesites.
Saludos.

2009/8/3 Matias Tito <matia...@gmail.com>
Reply all
Reply to author
Forward
0 new messages