Wie man youtube video-id aus der URL mit java?
Möchte ich, um die v=id aus der youtube-URL mit java
Beispiel Youtube-URL-Formate:
http://www.youtube.com/watch?v=u8nQa1cJyX8&a=GxdCwVVULXctT2lYDEPllDR0LRTutYfW
http://www.youtube.com/watch?v=u8nQa1cJyX8
http://youtu.be/0zM3nApSvMg
http://www.youtube.com/user/IngridMichaelsonVEVO#p/a/u/1/KdwsulMb8EQ
http://youtu.be/dQw4w9WgXcQ http://www.youtube.com/embed/dQw4w9WgXcQ
http://www.youtube.com/v/dQw4w9WgXcQ
http://www.youtube.com/e/dQw4w9WgXcQ
http://www.youtube.com/watch?v=dQw4w9WgXcQ
http://www.youtube.com/?v=dQw4w9WgXcQ
http://www.youtube.com/watch?feature=player_embedded&v=dQw4w9WgXcQ
http://www.youtube.com/?feature=player_embedded&v=dQw4w9WgXcQ
http://www.youtube.com/user/IngridMichaelsonVEVO#p/u/11/KdwsulMb8EQ
http://www.youtube-nocookie.com/v/6L3ZvIMwZFM?version=3&hl=de_de&rel=0
oder andere youtube-format enthält eine video-id in der url
Ich Versuche mit, dass :-
Pattern compiledPattern = Pattern.compile("(?<=v=).*?(?=&|$)",Pattern.CASE_INSENSITIVE);
Matcher matcher = compiledPattern.matcher(sourceUrl);
if(matcher.find()){
setVideoId(matcher.group());
}
Es ist nicht nur für eine URL :-
- Folgen Sie dem link. sehen, wo es leitet Sie auf
- Wie kann ich seine ID ?
- wenn Sie senden eine Anfrage an diese URL wird respnd yout mit einem 3xx-HTTP-Antwort, die leitet Sie auf die eigentliche Youtube-URL.
youtube.com/watch?v=.....
format! en.wikipedia.org/wiki/List_of_HTTP_status_codes#3xx_Redirection - Danke!!! Du hast Recht. aber wie kann ich damit umgehen mit java-code ?
- Ich bearbeitet meine Antwort
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den code unten wird das extrahieren von video-ids für die folgenden Typen von urls.
6UW3xuJinEg
(ich meine die Zeichenfolge nachyoutu.be/
) ist die ID die meiste Zeit. Aber für mehr sicher, Sie können senden einer HTTP-GET-request auf die URL und es wird reagieren Sie mit einem HTTP302 redirect-Antwort-wo finden Sie die aktuellen Umleitungs-URL. Sie können analysieren, die URL Ihrer bisherigen code.Zu senden und zu erhalten, dass Anfrage und Antwort können Sie nutzen Bibliotheken wie z.B. jsoup. aber da es nur eine einfache GET-Anfrage können Sie einfach über java-sockets.
Verbinden
youtube.be
auf port 80 und schreiben diese in den Ausgabe-stream:v=...
nur get string zwischen/
und?
oder Ende der Zeichenkette.Fand ich die Lösung für dieses .. ich erweitern, die URL.. und seine Arbeit ..
Verwenden Sie diese Methode, es funktioniert in den meisten Fällen, dass die Rückgabe von Null in der obigen Antworten.
Fällen getestet:
Versuchen, diesen code hier.
Finden Sie meine gesamten parser-code von hier
https://github.com/TheFinestArtist/YouTubePlayerActivity/blob/master/library/src/main/java/com/thefinestartist/ytpa/utils/YoutubeUrlParser.java
Dies ist sinnvoll, open-source, die ich gemacht zu spielen Youtube-Videos.
https://github.com/TheFinestArtist/YouTubePlayerActivity