Maison développement back-end tutoriel php 解析获取优酷视频真实下载地址的PHP源代码_php技巧

解析获取优酷视频真实下载地址的PHP源代码_php技巧

May 17, 2016 am 08:58 AM
Vidéo Youku 获取

复制代码 代码如下:

//--调用方法/demo.php?url=http://v.youku.com/v_show/id_XMzkyODA2NTEy.html
echo getYoukuFlv($_GET['url']);

function getYoukuFlv($url){
    preg_match("#id_(.*?)\.html#",$url,$out);
    $id=$out[1];
    $content=get_curl_contents('http://v.youku.com/player/getPlayList/VideoIDS/'.$id);
    $data=json_decode($content);
    foreach($data->data[0]->streamfileids AS $k=>$v){
    $sid=getSid();
    $fileid=getfileid($v,$data->data[0]->seed);
    $one=($data->data[0]->segs->$k);
    if($k == 'flv' || $k == 'mp4') return "http://f.youku.com/player/getFlvPath/sid/{$sid}_00/st/{$k}/fileid/{$fileid}?K={$one[0]->k}";
    continue;
    }

function get_curl_contents($url, $second = 5){
    if(!function_exists('curl_init')) die('php.ini未开启php_curl.dll');
    $c = curl_init();
    curl_setopt($c,CURLOPT_URL,$url);
    $UserAgent=$_SERVER['HTTP_USER_AGENT'];
    curl_setopt($c,CURLOPT_USERAGENT,$UserAgent);
    curl_setopt($c,CURLOPT_HEADER,0);
    curl_setopt($c,CURLOPT_TIMEOUT,$second);
    curl_setopt($c,CURLOPT_RETURNTRANSFER, true);
    $cnt = curl_exec($c);
    $cnt=mb_check_encoding($cnt,'utf-8')?iconv('gbk','utf-8//IGNORE',$cnt):$cnt; //字符编码转换
    curl_close($c);
    return $cnt;
}
function getSid() {
    $sid = time().(rand(0,9000)+10000);
    return $sid;
}
function getkey($key1,$key2){
    $a = hexdec($key1);
    $b = $a ^ 0xA55AA5A5;
    $b = dechex($b);
    return $key2.$b;
}
function getfileid($fileId,$seed) {
    $mixed = getMixString($seed);
    $ids = explode("*",$fileId);
    unset($ids[count($ids)-1]);
    $realId = "";
    for ($i=0;$i     $idx = $ids[$i];
    $realId .= substr($mixed,$idx,1);
    }
    return $realId;
}
function getMixString($seed) {
    $mixed = "";
    $source = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/\\:._-1234567890";
    $len = strlen($source);
    for($i=0;$i    $seed = ($seed * 211 + 30031) % 65536;
    $index = ($seed / 65536 * strlen($source));
    $c = substr($source,$index,1);
    $mixed .= $c;
    $source = str_replace($c, "",$source);
    }
    return $mixed;
}
?>
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment obtenir une extension de fichier en Python ? Comment obtenir une extension de fichier en Python ? Sep 08, 2023 pm 01:53 PM

Une extension de fichier en Python est un suffixe ajouté à la fin d'un nom de fichier pour indiquer le format ou le type du fichier. Il se compose généralement de trois ou quatre caractères, d'un nom de fichier suivi d'un point, tel que « .txt » ou « .py ». Les systèmes d'exploitation et les programmes utilisent des extensions de fichier pour déterminer de quel type de fichier il s'agit et comment il doit être traité. Reconnu comme un fichier texte brut. Les extensions de fichiers en Python sont cruciales lors de la lecture ou de l'écriture de fichiers, car elles établissent le format de fichier et la meilleure façon de lire et d'écrire des données. Par exemple, l'extension de fichier « .csv » est l'extension utilisée lors de la lecture des fichiers CSV, et le module csv est utilisé pour traiter les fichiers. Algorithme pour obtenir une extension de fichier en Python. Manipuler la chaîne du nom de fichier en Python.

Les membres Youku peuvent se connecter à plusieurs appareils Les membres Youku peuvent se connecter à plusieurs appareils Mar 20, 2024 pm 02:48 PM

Les membres Youku peuvent se connecter sur jusqu'à 5 appareils, mais ne peuvent regarder que sur 2 appareils en même temps. Si la limite d’appareils est dépassée, les avantages de l’adhésion seront temporairement indisponibles. Par conséquent, les utilisateurs doivent contrôler le nombre d’appareils connectés à 5 au maximum pour éviter d’être mis hors ligne par d’autres appareils.

Comment désactiver le renouvellement automatique de l'abonnement mensuel continu de Youku Comment désactiver le renouvellement automatique de l'abonnement mensuel continu de Youku Mar 20, 2024 pm 03:00 PM

Tutoriel pour désactiver le renouvellement automatique de l'abonnement mensuel continu de Youku : ouvrez l'application Youku, entrez dans le centre personnel, cliquez sur "Centre des membres" et "Renouvellement automatique", puis cliquez sur le bouton "Annuler le renouvellement automatique" dans le coin supérieur droit, puis sélectionnez "Oui" pour annuler le renouvellement automatique.

Où obtenir le code de sécurité Google Où obtenir le code de sécurité Google Mar 30, 2024 am 11:11 AM

Google Authenticator est un outil utilisé pour protéger la sécurité des comptes d'utilisateurs, et sa clé est constituée d'informations importantes utilisées pour générer des codes de vérification dynamiques. Si vous oubliez la clé de Google Authenticator et ne pouvez la vérifier que via le code de sécurité, l'éditeur de ce site Web vous proposera une introduction détaillée sur l'endroit où obtenir le code de sécurité Google. J'espère que cela pourra vous aider si vous le souhaitez. en savoir plus Utilisateurs, veuillez continuer à lire ci-dessous ! Ouvrez d’abord les paramètres du téléphone et accédez à la page des paramètres. Faites défiler la page et trouvez Google. Accédez à la page Google et cliquez sur Compte Google. Accédez à la page du compte et cliquez sur Afficher sous le code de vérification. Entrez votre mot de passe ou utilisez votre empreinte digitale pour vérifier votre identité. Obtenez un code de sécurité Google et utilisez le code de sécurité pour vérifier votre identité Google.

Comment résilier l'abonnement mensuel continu sur Youku Video Comment résilier l'abonnement mensuel continu sur Youku Video Mar 20, 2024 pm 03:07 PM

Vous pouvez annuler l'abonnement mensuel continu de Youku Video en suivant les étapes suivantes : Entrez dans le centre personnel, cliquez sur « Centre des membres » et « Renouvellement automatique », puis sélectionnez « Annuler le renouvellement automatique » pour terminer l'opération d'annulation. Le système indiquera que l'annulation a réussi et aucun frais ne sera déduit après l'expiration de l'adhésion.

Mar 22, 2024 pm 01:45 PM

Le même compte VIP de Youku Video peut être connecté sur jusqu'à 5 appareils, mais ne peut être visualisé que sur 2 appareils en même temps. Si un troisième appareil regarde en même temps, les droits VIP seront temporairement invalidés. Les utilisateurs doivent contrôler le nombre d'appareils connectés à 5 au maximum, sinon les autres appareils seront mis hors ligne.

Comment obtenir le dernier élément de LinkedHashSet en Java ? Comment obtenir le dernier élément de LinkedHashSet en Java ? Aug 27, 2023 pm 08:45 PM

Récupérer le dernier élément d'un LinkedHashSet en Java signifie récupérer le dernier élément de sa collection. Bien que Java n'ait pas de méthode intégrée pour aider à récupérer le dernier élément dans LinkedHashSets, il existe plusieurs techniques efficaces qui offrent flexibilité et commodité pour récupérer efficacement ce dernier élément sans rompre l'ordre d'insertion - un must pour les problèmes des développeurs Java résolus efficacement dans son application. . En appliquant efficacement ces stratégies dans leurs projets logiciels, ils peuvent obtenir la meilleure solution pour cette exigence. LinkedHashSetLinkedHashSet est une structure de données efficace en Java qui combine HashSet et

Programme Java pour obtenir la taille d'un fichier donné en octets, kilo-octets et mégaoctets Programme Java pour obtenir la taille d'un fichier donné en octets, kilo-octets et mégaoctets Sep 06, 2023 am 10:13 AM

La taille d'un fichier est la quantité d'espace de stockage qu'un fichier spécifique occupe sur un périphérique de stockage spécifique, tel qu'un disque dur. La taille d'un fichier est mesurée en octets. Dans cette section, nous verrons comment implémenter un programme Java pour obtenir la taille d'un fichier donné en octets, kilo-octets et mégaoctets. Un octet est la plus petite unité d'information numérique. Un octet équivaut à huit bits. Un kilo-octet (Ko) = 1 024 octets, un mégaoctet (Mo) = 1 024 Ko, un gigaoctet (Go) = 1 024 Mo et un téraoctet (To) = 1 024 Go. La taille d'un fichier dépend généralement du type de fichier et de la quantité de données qu'il contient. En prenant un document texte comme exemple, la taille du fichier peut n'être que de quelques kilo-octets, tandis qu'un fichier image ou vidéo haute résolution peut être

See all articles