Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Patrique

verificar se link do youtube é valido ou não

Recommended Posts

Seguinte pessoal,

 

Eu tenho um formulário em um sistema aonde os usuários podem cadastrar links de vídeos do youtube, com isso o sistema busca informações como por exemplo imagem, titulo, descrição, tags, datas, e link do vídeo e cadastra no meu banco de dados.

 

Só que o problema é se o usuário colocar uma url incorreta, com isso o sistema obviamente não consegue resgatar as informações.

 

Por isso eu gostaria de saber se existe alguma função aonde eu poderia saber que os dados colocados em um imput pelo usuário trata-se de um link referente ao video no youtube, ou se o usuário estiver zoando, com isso o script redirecionaria para uma página informando que o link não esta correto.

 

Se alguém souber como ou se tiver uma função que faça algo semelhante eu agradeço

 

valew!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faça uma requisição do link usando algum componente HTTP. Se retornar a página com o conteúdo do YouTube, é correto, senão, está errado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você por acaso tem algum exemplo ae de como eu posso fazer esta requisição para verificar se o conteúdo é do youtube ou não? não faço a mínima idéia de por onde começar caso você tenha alguma função e for possível você me passar fico agradecido caso contrario obrigado assim mesmo, vou continuar tentando encontrar uma solução para isto.

 

valew!

Compartilhar este post


Link para o post
Compartilhar em outros sites

acho que ele quis dizer pra você por um if

por exemplo

se a sua condulta resgatar o titulo do video, e vier vazia é pq o video nao esta mais la

 

tipo um if titulo_YT = "" then

 

 

faca uma funcao pra você percorrer os seus videos cadastrados, pois o youtube as vezes retira os videos, entao pode dar pau

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, levando em consideração que o "id" que identifica o vídeo no youtube são providos de 11 caracteres eu montei aqui uma função básica que separa a url postada pelo usuário fazendo somente com que o id fique disponível para a checagem, utilizei a função splite para isto, ao termino desta separação ira restar apenas o id com isso eu faço uma contagem de caracteres e utilizo o if para fazer a contagem destes caracteres, caso o usuário poste uma url que contenha este id maior ou menor que 11 o sistema informa que o id do vídeo não está correto, também faço o sistema verificar através de if a url contendo a informação do site, neste caso quando o usuário postar esta url utilizando o link "

o sistema apontaria que provavelmente o vídeo é válido e com isso prossegue, caso o usuário utilize uma outra url, por exemplo "http://imasters.com.br/watch?v=vso9iPIpeu8" o sistema ira identificar e informar que a url está errada.

 

abaixo segue a pequena função que eu fiz, quem pude contribuir melhorando-a fique a vontade

 

<%
'exemplo da url http://localhost/verifica.asp?url=http://youtube.com/watch?v=vso9iPIpeu8
urldousuario = Request.Querystring("url")
trataurl = urldousuario
urltratada = Split(trataurl,"?v=")
if urltratada(0) = "http://youtube.com/watch" then
urlpronta = urltratada(1)
contador = len(urlpronta)
If contador = 11 Then
Response.Write "provavelmente verdadeiro"
Else
Response.Write "id do video não está correto"
End If
Else
Response.Write "url não está correta"
End If
%>

valew!

Compartilhar este post


Link para o post
Compartilhar em outros sites

acho que iria pegar so o id e verificar rodando pra ver se retorna alguma coisa

 

nao colocaria essa linha

If contador = 11 Then

 

pode ate conferir se a url é do youtube, mas eu acho bobagem

se digitar 'http://youtube.com/watch?v=00000000000'

vai rodar o sistema e vai dar erro de qq forma

 

ha, esqueci

if urltratada(0) = "http://youtube.com/watch" then

http://youtube.com/watch é <> de http://www.youtube.com/watch

e ambas url's sao validas

Compartilhar este post


Link para o post
Compartilhar em outros sites

E ai pessoal, valeu pelas dicas, mais para dar maior segurança eu terei que fazer esta checagem, no caso vou utilizar replace para tratar todas as urls, sendo elas, www, br, es, en, us, ca.... e sempre deixar a url padrão, assim:

 

http://youtube.com/watch...

 

Valeu pela dicas!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.