adownloader icon indicating copy to clipboard operation
adownloader copied to clipboard

This method doesn't seem to work on the movie channel?

Open banxiaduhuo opened this issue 7 years ago • 18 comments

I combined the http://data.video.qiyi.com/videos with "l" in json, and got a video clip ~6 minutes. But when I tried it on the movie channel, it returned an error:405 Not Allowed, nginx/1.9.4. "l" in json like this: "scrsz": "1280x688", "fs": [ { "b": 30322151, "msz": 1756, "d": 192075, "s": 0, "l": "/v0/20170328/47/55/066a38eb99ac7aebfecd3df878ace9fe.f4v ...", "e": 0 }, { }, ... ]

banxiaduhuo avatar Apr 06 '17 07:04 banxiaduhuo

It seems VIP movies doesn't work. The url captured using Chrome has more parameters:

&t=1491482401_9c61bf746dfaf294095184abd60cd136&cid=afbe8fd3d73448c9&ib=3&ptime=360000&ibt=7dd3aac7160b1c63ad3e4f4e08e83df0&vid=c271893476cf527c25f1a057da0ae550&QY00001=12345678&qyid=fbxnjcizo4pmzv2gjhkuqxikltxvcx4h&qypid=589265100_11&pv=0.1&ran=271

&ran can be deleted directly &t、&ibt、&qypid seems need to calculate. Do you know how to calculate?

banxiaduhuo avatar Apr 06 '17 12:04 banxiaduhuo

vipdata. If you have a valid vip account i cant test it

$qdsc=extrae($link,'&qd_sc','=','&');
$qd_ip=extrae($link,'&qd_ip','=','&');
$qd_scc=extrae($link,'&qd_scc','=','&');
$qd_tm=extrae($link,'&qd_tm','=','&');
$qd_k=extrae($link,'&qd_k','=','&');

$call="http://api.vip.iqiyi.com/services/cknsp.action"; $post="qd%5Findex=1&platform=01010021010010000000&deviceId=&qd%5Fuid=0&version=3%2E0&tvid=$tvid&qd%5Fsc=$qdsc&filename=$rid&qd%5Fip=$qd_ip&qd%5Fvip=0&shareFlag=0&qd%5Fstert=0&playType=main&qd%5Fvipdyn=2&qd%5Fvipres=2&qd%5Fscc=$qd_scc&uid=&qd%5Fsrc=01010031010010000000&qd%5Faid=$tvid&qd%5Ftm=$qd_tm&qd%5Fk=$qd_k&aid=$tvid&qd%5Ftvid=$tvid";

					$vipdata=json_decode(curl($call,$prox,$url,$headers,0,$post));
							
					$t=$vipdata->data->t;
					
					if ($t) 
						{											
						$ptime=$vipdata->data->ptime;
						
						$last="&t=$t&cid=afbe8fd3d73448c9&ib=4&ptime=$ptime&ibt=";				
						
						$ibt=$computevf->getvf($t.$rid);
													
						$last.=$ibt;
						$cookie="QY00001=".$vipdata->data->u;
						
						$last.="&$cookie";
                                                    }

denobisipsis avatar Apr 06 '17 13:04 denobisipsis

@denobisipsis OK, thank you very much, I will try~

banxiaduhuo avatar Apr 06 '17 14:04 banxiaduhuo

@denobisipsis
I use your code: $ibt=$computevf->getvf($t.$rid); with my VIP cookie, but it still 405 Not Allowed Are you sure that code about ibt is OK?

ckz1211 avatar Apr 13 '17 13:04 ckz1211

Without vip account i get the free chunks from vip streams with this ibt. But i need an account to be sure.

denobisipsis avatar Apr 13 '17 13:04 denobisipsis

$ibt=$computevf->getvf($t.$rid); As I understood, $t=1492089836_98dea2a4713e235a3d397e6e6c1b4242;// from curl_post $rid=8d8f95a850747e3575f978055e518c92;//I think it is filename. $ibt=$computevf->getvf(1492089836_98dea2a4713e235a3d397e6e6c1b42428d8f95a850747e3575f978055e518c92); but b6b7cb36c771a6eae553fb6f68b22745 is not right. Such as http://data.video.qiyi.com/videos/v0/20170412/48/f3/8d8f95a850747e3575f978055e518c92.hml?qd_tvid=650156600&qd_vipres=2&qd_index=1&qd_aid=206296001&qd_stert=0&qd_scc=238cc37e1726c6349c2dd9d63aa099e4&qd_sc=501df1ca74900aa376a992736f8774c1&qd_ip=75b52be4&qd_k=3b75b067b3eadfe6cc3476a384c7b09d&qd_src=01010031010000000000&qd_vipdyn=2&qd_uid=1405568913&qd_tm=1492089836211&qd_vip=1&t=1492089836_98dea2a4713e235a3d397e6e6c1b4242&cid=afbe8fd3d73448c9&ib=3&ptime=0&ibt=b6b7cb36c771a6eae553fb6f68b22745&vid=817f468215350eebe531b6dcac25236b&QY00001=1405568913&ran=383&qyid=bd8bc673310c53f8009303968074cfae&qypid=650156600_11&pv=0.1

ckz1211 avatar Apr 13 '17 13:04 ckz1211

ok, you need to change &ib=3 to 4.

But give me a valid account and i will check it!

denobisipsis avatar Apr 13 '17 13:04 denobisipsis

@denobisipsis Thank you! It works! Since the original browser use ib=3 , I used ib=3 too... About the VIP account, I will mail to you. Your mail is?

ckz1211 avatar Apr 13 '17 14:04 ckz1211

Thank you! Use [email protected]

denobisipsis avatar Apr 13 '17 14:04 denobisipsis

I got the final link and it's such as

{"t":"CMNET|GuangDong-120.230..","httpsock":"1","h":"-463","l":"http://117.148.174.135/20170808/a0/e2/13e9b6f7286b87cfe6bf42ceca47a366.f4v?key=084091618bb165e60a21ce4f5a21038db&dis_k=006d20696317a02e9b04df2d74024aa91&dis_t=1502851301&dis_dz=CMNET-GuangDong&dis_st=42&src=iqiyi.com&uuid=78e6b4c1-5993b0e5-f0&qd_ip=78e6b4c1&ibt=bf56820a5555ec2d4afbf63ff7a33707&qd_uid=0&qd_tm=1502851298673&qd_vipdyn=2&ptime=360000&QY00001=1023108576&qd_tvid=678278900&qd_stert=0&qd_p=78e6b4c1&qd_k=6cf3d8452d9931d3db8d7079b87bd08b&cid=afbe8fd3d73448c9&qd_index=1&qd_vip=0&qd_src=01010031010000000000&ib=4&qd_vipres=2&qd_aid=678278900","z":"hangzhou7_cmnet"}

When I visit the "l",

http://117.148.174.135/20170808/a0/e2/13e9b6f7286b87cfe6bf42ceca47a366.f4v?key=084091618bb165e60a21ce4f5a21038db&dis_k=006d20696317a02e9b04df2d74024aa91&dis_t=1502851301&dis_dz=CMNET-GuangDong&dis_st=42&src=iqiyi.com&uuid=78e6b4c1-5993b0e5-f0&qd_ip=78e6b4c1&ibt=bf56820a5555ec2d4afbf63ff7a33707&qd_uid=0&qd_tm=1502851298673&qd_vipdyn=2&ptime=360000&QY00001=1023108576&qd_tvid=678278900&qd_stert=0&qd_p=78e6b4c1&qd_k=6cf3d8452d9931d3db8d7079b87bd08b&cid=afbe8fd3d73448c9&qd_index=1&qd_vip=0&qd_src=01010031010000000000&ib=4&qd_vipres=2&qd_aid=678278900

It reponse "502 error",It seems doesn't work,Am I right?

And can I get the final m3u8 link? @denobisipsis

Daniel-Yen avatar Aug 16 '17 02:08 Daniel-Yen

without account i cannot verify it. Anyway post the url of the video

denobisipsis avatar Aug 16 '17 09:08 denobisipsis

Maybe I ignore the "curl($call,$prox,$url,$headers,0,$post)" before, I use the code like this:

    $post = "qd%5Findex=1&platform=01010021010010000000&deviceId=&qd%5Fuid=0&version=3%2E0&tvid=$tvid&qd%5Fsc=$qdsc&filename=$rid&qd%5Fip=$qd_ip&qd%5Fvip=0&shareFlag=0&qd%5Fstert=0&playType=main&qd%5Fvipdyn=2&qd%5Fvipres=2&qd%5Fscc=$qd_scc&uid=&qd%5Fsrc=01010031010010000000&qd%5Faid=$tvid&qd%5Ftm=$qd_tm&qd%5Fk=$qd_k&aid=$tvid&qd%5Ftvid=$tvid";

    $call="http://api.vip.iqiyi.com/services/cknsp.action";

    $vipdata = $this->httprequest($call, $post, true);`

$call: url $post: post data true: decode json or not

Must I need to put the $headers and other else parameters into the httprequest()? What the parameters mean in the "curl($call,$prox,$url,$headers,0,$post)"?

PS: I had send the VIP account info to your gmail.

Daniel-Yen avatar Aug 16 '17 13:08 Daniel-Yen

ok.

the call should be

$call="http://api.vip.iqiyi.com/services/cknsp.action?aid=$tvid&cid=afbe8fd3d73448c9&qdScc=$qd_scc&deviceId=&playType=&platform=01012001020000000000&version=3.0&P00001=$P00001&tvid=$tvid&qdVipres=2&filename=$rid&qdIndex=$qd_index&uid=$uid&qd_tvid=$tvid&qd_vipres=2&qd_index=$qd_index&qd_aid=$tvid&qd_stert=$qd_stert&qd_scc=$qd_scc&qd_sc=$qdsc&qd_p=$qd_ip&qd_ip=$qd_ip&qd_k=$qd_k&qd_src=1702633101b340d8917a69cf8a4b8c7c&qd_vipdyn=2&qd_uid=$uid&qd_tm=$qd_tm&qd_vip=1&shareFlag=0";

foreach part foreach quality.

You need to fill $uid and $P00001, codes which easily you found sniffing iqiyi web with debugger. With these codes there is no need to make the process of login.

also

$qdsc=extrae($link,'&qd_sc','=','&'); $qd_ip=extrae($link,'&qd_ip','=','&'); $qd_scc=extrae($link,'&qd_scc','=','&'); $qd_tm=extrae($link,'&qd_tm','=','&'); $qd_k=extrae($link,'&qd_k','=','&'); $qd_index=extrae($link,'&qd_index','=','&'); $qd_stert=extrae($link,'&qd_stert','=','&');

compute ibt as

$ibt=md5($t.$rid."t6hrq6k0n6n6k6qdh6tje6wpb62v7654");

denobisipsis avatar Aug 17 '17 00:08 denobisipsis

Trying http://www.iqiyi.com/v_19rr6ym2ek.html?fc=87bbded392d221f5

i get

Qual 1920x816 has 23 parts and 1.18GB Qual 1184x504 has 12 parts and 315.79MB Qual 504x216 has 12 parts and 78.76MB Qual 848x360 has 12 parts and 208.11MB Qual 1280x544 has 23 parts and 597.42MB Qual 3840x1632 has 23 parts and 3.05GB

denobisipsis avatar Aug 17 '17 00:08 denobisipsis

I use the code like this:

    $qdsc = $this->getStrBetweeen($link,'qd','_sc=','&');
    $qd_ip = $this->getStrBetweeen($link,'qd_ip','=','&');
    $qd_scc = $this->getStrBetweeen($link,'qd_scc','=','&');
    $qd_tm = $this->getStrBetweeen($link,'qd_tm','=','&');
    $qd_k = $this->getStrBetweeen($link,'qd_k','=','&');                        
    $qd_index = $this->getStrBetweeen($link,'qd_index','=','&');
    $qd_stert = $this->getStrBetweeen($link,'qd_stert','=','&');

    $rid = $this->getFileName($link);

    $uid = "23387*****";
    $P00001 = "a_str_from_sniffing";
    $post = "aid=$tvid&cid=afbe8fd3d73448c9&qdScc=$qd_scc&deviceId=&playType=&platform=01012001020000000000&version=3.0&P00001=$P00001&tvid=$tvid&qdVipres=2&filename=$rid&qdIndex=$qd_index&uid=$uid&qd_tvid=$tvid&qd_vipres=2&qd_index=$qd_index&qd_aid=$tvid&qd_stert=$qd_stert&qd_scc=$qd_scc&qd_sc=$qdsc&qd_p=$qd_ip&qd_ip=$qd_ip&qd_k=$qd_k&qd_src=1702633101b340d8917a69cf8a4b8c7c&qd_vipdyn=2&qd_uid=$uid&qd_tm=$qd_tm&qd_vip=1&shareFlag=0";

    $call="http://api.vip.iqiyi.com/services/cknsp.action?".$post;
    $vipdata = $this->httprequest($call, null, true);
    #print_r($vipdata);

    $t = $vipdata['data']['t'];
    $ptime = $vipdata['data']['ptime'];
    $ibt = md5($t.$rid."t6hrq6k0n6n6k6qdh6tje6wpb62v7654");

    $last = "&t=$t&cid=afbe8fd3d73448c9&ib=4&ptime=$ptime&ibt=$ibt";                         
    $cookie = "QY00001=".$vipdata['data']['u'];
    $last .= "&$cookie";

    $final_link = 'http://data.video.iqiyi.com'.$link.$last;

and I visited the final link, it response:

{"code":"D2004"}

I don't know what's wrong...

Daniel-Yen avatar Aug 17 '17 03:08 Daniel-Yen

take url

http://www.iqiyi.com/v_19rr6ym2ek.html?fc=87bbded392d221f5

call apicache and json_decode

http://cache.video.qiyi.com**/vms?key=fvip&src=1702633101b340d8917a69cf8a4b8c7c&tvId=694827200&vid=9edf41f3455becdb988532e0040a07b5&vinfo=1&tm=506&qyid=&puid=2338708489&authKey=edde608c46ca7560c33bcdf166480cc9&um=1&pf=b6c13e26323c537d&thdk=&thdt=&rs=1&k_tag=1&qdv=3**&vf=988dbfa0ef15d9bafa9ab9388b1b4cf7

where vf=md5($cache."u6fnp3eok0dpftcq9qbr4n9svk8tqh7u");

take

$apicache->data->vp->tkl[0]->vs[0]->fs

which are the parts of quality "3840x1632"

fs[0]->l is

/v0/20170719/31/2f/cea1d123179c1e0f4f3f1acee1ddc1e0.f4v?qd_tvid=694827200&qd_vipres=2&qd_index=1&qd_aid=694827200&qd_stert=0&qd_scc=7bf1184fe871dd8796c5e770f27a8bc9&qd_sc=8f2fcb359a080b152c976618defdcb03&qd_p=5aa46545&qd_ip=5aa46545&qd_k=988dbfa0ef15d9bafa9ab9388b1b4cf7&qd_src=1702633101b340d8917a69cf8a4b8c7c&qd_vipdyn=2&qd_uid=2338708489&qd_tm=1502952109497&qd_vip=1

Then call apiservices and json_decode

http://api.vip.iqiyi.com/services/cknsp.action?aid=694827200&cid=afbe8fd3d73448c9&qdScc=7bf1184fe871dd8796c5e770f27a8bc9&deviceId=&playType=&platform=01012001020000000000&version=3.0&P00001=$P00001&tvid=694827200&qdVipres=2&filename=cea1d123179c1e0f4f3f1acee1ddc1e0&qdIndex=1&uid=$uid&qd_tvid=694827200&qd_vipres=2&qd_index=1&qd_aid=694827200&qd_stert=0&qd_scc=7bf1184fe871dd8796c5e770f27a8bc9&qd_sc=7bf1184fe871dd8796c5e770f27a8bc9&qd_p=$ip&qd_ip=$ip&qd_k=988dbfa0ef15d9bafa9ab9388b1b4cf7&qd_src=1702633101b340d8917a69cf8a4b8c7c&qd_vipdyn=2&qd_uid=$uid&qd_tm=1502952109497&qd_vip=1&shareFlag=0

Take data->t

1502952111_3ec559035ac934706b0281e699776547

and data->ptime

and compute ibt as md5($t.$rid."t6hrq6k0n6n6k6qdh6tje6wpb62v7654");

call to obtain the link

http://data.video.qiyi.com/videos/v0/20170719/31/2f/cea1d123179c1e0f4f3f1acee1ddc1e0.f4v?qd_tvid=694827200&qd_vipres=2&qd_index=1&qd_aid=694827200&qd_stert=0&qd_scc=7bf1184fe871dd8796c5e770f27a8bc9&qd_sc=8f2fcb359a080b152c976618defdcb03&qd_p=$ip&qd_ip=$ip&qd_k=988dbfa0ef15d9bafa9ab9388b1b4cf7&qd_src=1702633101b340d8917a69cf8a4b8c7c&qd_vipdyn=2&qd_uid=$uid&qd_tm=1502952109497&qd_vip=1&t=1502952111_3ec559035ac934706b0281e699776547&cid=afbe8fd3d73448c9&ib=3&ptime=$ptime&ibt=7131fe3e916edfa176dcdebbb5b99314**&QY00001=$uid**

In the last call dont forget to add QY00001

denobisipsis avatar Aug 17 '17 06:08 denobisipsis

Wow, I got it!

I think the main reason for doesn't work are the following aspects:

1.There are two different domain: qiyi.com & iqiyi.com. 2.Call the apicache begin with "http://cache.video.qiyi.com/jp/vms", the right one is "http://cache.video.qiyi.com/vms". 3.The parameters &platform、&qd_src、&ib. 4.The last call begin with "http://data.video.qiyi.com/v0/", the right one is "http://data.video.qiyi.com/videos/v0/".

Anyway,thank you for your patience!!!!!!!!!! @denobisipsis

Daniel-Yen avatar Aug 17 '17 08:08 Daniel-Yen

Boss, is there a direct online analysis of 271 VIP video website? My friend has a member account, would like to download 1080P or 4K video, Will the big brother how to operate, Is there an online analytical URL for finished products? Thank you

lki2019 avatar Sep 01 '17 15:09 lki2019