快手去水印时cookie中的did 和 didv 总是失效怎么办?
最近总是有很对小伙伴问我,快手去水印怎么做?现在快手卡的好严呀。分析快手原视频链接总是面临着各种各样的问题。作为小白站长,想做一个去水印的网站改怎么搞???
我总结了一下,大体存在如下问题:
- PC版访问时,频繁出现滑块验证码
- PC端JS有监测debug行为,动不动就跳转到不相干页面
- COOKIE每5-10分钟就失效
- IP频率限制(没什么好说的,直接买高匿HTTP代理)
针对上面的问题,归根结底时快手监测到人为调试,或者伪造请求,只要保证请求完全模拟真实情况(也就是请求的header部分)。cookie 中的did和didv 就显得尤为重要。只要能够动态生成cookie 中的 did 和 didv 所有的问题就迎刃而解。
关于 did 和 didv的生成部分,我把核心代码放到下面,供需要的小伙伴参考,亲测稳定性很高。
php client拓展采用的是 guzzle github地址
<?php
error_reporting(0);
require './vendor/autoload.php';
$url = $_GET['url']?:'https://v.kuaishou.com/8qIlZu';
$client = new \GuzzleHttp\Client();
$response = $client->request('GET',$url,[
'verify' => false,
'timeout' => 60,
'allow_redirects' => false,
// 'proxy' => '',//代理ip
'headers' => [
'User-Agent' => 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1',
'Accept' => 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3',
'accept-encoding' => 'gzip, deflate, br',
'accept-language'=> 'zh-CN,zh;q=0.9',
'Connection' => "keep-alive",
'Host' => "v.kuaishou.com",
"Sec-Fetch-Mode" => "navigate",
"Sec-Fetch-Site"=>"none",
"Sec-Fetch-User"=>"?1",
"upgrade-insecure-requests" => "1"
]
]);
$orgin_cookie = $response->getHeaderLine('Set-Cookie');
$regx = "/did=(.*?);/";
preg_match($regx, $orgin_cookie,$match);
$did = $match[1];
$regx = "/didv=(.*?);/";
preg_match($regx, $orgin_cookie,$match);
$didv = $match[1];
$cookie = 'did='.$did.'; didv='.$didv.';';
echo $cookie;
当然也可以联系站长 QQ 1738149410 微信:fcdearth 合作交流。