Heim > Backend-Entwicklung > PHP-Tutorial > Holen Sie sich den Quellcode – So erhalten Sie die Quelladresse von Douyu TV mit PHP

Holen Sie sich den Quellcode – So erhalten Sie die Quelladresse von Douyu TV mit PHP

WBOY
Freigeben: 2023-03-01 22:52:02
Original
4127 Leute haben es durchsucht

Ich habe viele Informationen im Internet ausprobiert, aber es funktioniert nicht. Das Problem, auf das ich jetzt stoße, ist, wie man die Parameterwerte in den Schnittstellenadressparametern generiert
http://live.qq .com/swf_api/ro...
Dies ist die Schnittstellenadresse. Jedes Mal, wenn die t- und sign-Parameter aktualisiert werden, ändern sie sich bitte, wie ich diese Parameter erhalten oder generieren kann

Das in Python geschriebene geldgierige Programm, das ich zuvor im Internet gefunden habe, wurde in PHP geändert, und die generierte Adresszugriffsschnittstelle löste einen Fehler aus

<code>function getmd5($str){
    $m=md5($str);
    return $m;
}
function l_request($action){
    $baseUrl = "http://www.douyutv.com/api/v1/room/";
    $midReq = "?aid=android&cdn=ws&client_sys=android&time=";
    $t=time();


    $md5_url= $action . $t . 1231;
    //$auth = getmd5($md5_url);

    $requrl= $baseUrl . $action . $midReq . $t . "&auth=" . getmd5($md5_url);
    return $requrl;
}
echo (l_request(10000346));</code>
Nach dem Login kopieren
Nach dem Login kopieren

Antwortinhalt:

Ich habe viele Informationen im Internet ausprobiert, aber es funktioniert nicht. Das Problem, auf das ich jetzt stoße, ist, wie man die Parameterwerte in den Schnittstellenadressparametern generiert
http://live.qq .com/swf_api/ro...
Dies ist die Schnittstellenadresse. Jedes Mal, wenn die t- und sign-Parameter aktualisiert werden, ändern sie sich bitte, wie ich diese Parameter erhalten oder generieren kann

Das in Python geschriebene geldgierige Programm, das ich zuvor im Internet gefunden habe, wurde in PHP geändert, und die generierte Adresszugriffsschnittstelle löste einen Fehler aus

<code>function getmd5($str){
    $m=md5($str);
    return $m;
}
function l_request($action){
    $baseUrl = "http://www.douyutv.com/api/v1/room/";
    $midReq = "?aid=android&cdn=ws&client_sys=android&time=";
    $t=time();


    $md5_url= $action . $t . 1231;
    //$auth = getmd5($md5_url);

    $requrl= $baseUrl . $action . $midReq . $t . "&auth=" . getmd5($md5_url);
    return $requrl;
}
echo (l_request(10000346));</code>
Nach dem Login kopieren
Nach dem Login kopieren

https://github.com/soimort/yo...
Dies ist die Python-Version, die Sie selbst ändern können


php:

<code><?php
function curl($url,$cat='get',$post_data=''){
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    if($cat=='post')
        curl_setopt($ch, CURLOPT_POSTFIELDS,$post_data);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
    // curl_setopt($ch, CURLOPT_USERAGENT, "Python-urllib/3.5");
    curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.87 Safari/537.36");
    $data = curl_exec($ch);
    curl_close($ch);
    return $data;
}
$room_id = 55955;
$url = "https://m.douyu.com/html5/live?roomId=" . $room_id ;
$ret = curl($url);
$ret = json_decode($ret,1);
//print_r($ret);
if($ret['msg'] != 'OK' || $ret['data']['show_status'] != 1){
    echo "直播未开播";exit;
}
$tt = time()/60;
$did = md5(uniqid());
$sign = md5("{$room_id}{$did}A12Svb&%1UUmf@hC{$tt}");

$d = ['cdn'=>'ws', 'rate'=> '0', 'tt'=> $tt, 'did'=> $did, 'sign'=> $sign];
$api_url = "http://www.douyu.com/lapi/live/getPlay/" . $room_id;

$api_data = curl($api_url,'post',http_build_query($d));
$api_data = json_decode($api_data,1);
//print_r($api_data);
if($api_data['error'] === 0){
    echo '直播流地址:' .  $api_data['data']['rtmp_url'] . '/' . $api_data['data']['rtmp_live'];
}else{
    echo 'api请求错误';
}</code>
Nach dem Login kopieren
Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage