抖音去水印java和js版本
//获取视频链接 String url="https://v.douyin.com/efKYWbU/"
//获取视频mid
String mid=HttpUtil.createGet(url).addHeaders(headers).execute().header("Location").split("/")[5];
//通过视频mid获取视频详情
String body= HttpUtil.createGet("https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids="+mid).addHeaders(headers).execute().body();
JSONObject jsonObject = new JSONObject(body).getJSONArray("item_list").getJSONObject(0);
//获取到视频链接记得替换playwm 成play
String videoSrc=jsonObject.getJSONObject("video")
.getJSONObject("play_addr").getJSONArray("url_list").get(0).toString()
.replace("playwm","play");
//然后获取去水印后的视频地址
String videoUrl=HttpUtil.createGet(videoSrc).addHeaders(headers).execute().header("Location");
//剩下的就是视频的基本信息了 标题,背景音乐
String title=jsonObject.get("desc").toString();
String img=jsonObject.getJSONObject("video").getJSONObject("origin_cover").getJSONArray("url_list").get(0).toString();
String gif=jsonObject.getJSONObject("video").getJSONObject("dynamic_cover").getJSONArray("url_list").get(0).toString();
String music=jsonObject.getJSONObject("music").getJSONObject("play_url").getJSONArray("url_list").get(0).toString();
---------------------下面是js版本的原理同上------------------------
let res=await uniCloud.httpclient.request( "https://v.douyin.com/efKYWbU/",{method:"GET", dataType: text}) //视频获取mid let mid=res.headers.location.split("/")[5] //通过mid获取视频详情 let body= await uniCloud.httpclient.request("https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids="+mid,{dataType: text}); body=JSON.parse(body.data) //初始化视频信息 res={desc:body.item_list[0].desc,video:body.item_list[0].video.play_addr.url_list[0].replace("playwm","play"), image:body.item_list[0].video.origin_cover.url_list[0], music:body.item_list[0].music.play_url.url_list[0] } //把视频地址转换成无水印的 let temp=await uniCloud.httpclient.request( res.video,{method:"GET", dataType: text}) res.video=temp.headers.location //打印视频结果 console.log(res)
