百度云删除文件API接口探索

通过抓包发现百度云删除文件接口https://pan.baidu.com/api/filemanager,本文主要试图通过该接口来封装一个删除百度网盘文件的api接口。

浏览器请求数据包信息如下:

浏览器响应信息如下:

上述响应信息说明文件删除成功

代码如下:

 1 #! /usr/bin/python3
 2 # -*- coding: UTF-8 -*-
 3
 4 import time, re, requests, json
 5 from selenium.webdriver import Firefox, Chrome
 6 from selenium.webdriver.common.by import By
 7 from selenium.webdriver.common.keys import Keys
 8 from selenium.webdriver.firefox.options import Options
 9 from selenium.webdriver.support import expected_conditions as expected
10 from selenium.webdriver.support.wait import WebDriverWait
11
12 def baiduyun_test ():
13     print (time.ctime ())
14     browser = Chrome()
15     try:
16         browser.get(‘https://pan.baidu.com/‘)
17         time.sleep (3)
18         #点击"账号密码登陆"
19         elem = browser.find_element_by_xpath(‘//p[@class="tang-pass-footerBarULogin pass-link"]‘)
20         elem.click ()
21         print (‘点击"账号密码登陆"‘)
22         #输入账号
23         elem = browser.find_element_by_id(‘TANGRAM__PSP_4__userName‘)
24         elem.clear ()
25         elem.send_keys(‘username‘)
26         print (‘输入账号‘)
27         #time.sleep (3)
28         #输入密码
29         elem = browser.find_element_by_id(‘TANGRAM__PSP_4__password‘)
30         elem.clear ()
31         elem.send_keys(‘password‘)
32         print (‘输入密码‘)
33         time.sleep (1)
34         #点击登陆
35         elem = browser.find_element_by_id(‘TANGRAM__PSP_4__submit‘)
36         elem.click ()
37         print (‘点击登陆‘)
38         time.sleep (3)
39         #获取bdstoken
40         pattern = r‘"bdstoken":"(.*?)"‘
41         while True:
42             try:
43                 page_html = browser.page_source
44                 bdstoken = re.findall (pattern, page_html) [0]
45                 break
46             except:
47                 print (‘等待验证~~~‘)
48                 time.sleep (3)
49         print (‘bdstoken :‘, bdstoken)
50         logid = ‘MTUzNDM4NDk3MjYzNDAuNTAyODg4NzM4MTQyNDE0Nw==‘
51         url = ‘https://pan.baidu.com/api/filemanager?opera=delete&async=2&onnest=fail&channel=chunlei&web=1&app_id=250528&bdstoken=‘ + bdstoken + ‘&logid=‘ + logid + ‘&clienttype=0‘
52         print (‘url :‘, url)
53         #获取cookies
54         Cookie = ‘‘
55         for item in browser.get_cookies ():
56             if item [‘name‘] == ‘BDUSS‘ or item [‘name‘] == ‘STOKEN‘:
57                 Cookie += item [‘name‘] + ‘=‘ + item [‘value‘] + ‘;‘
58         Cookie.rstrip (‘;‘)
59         #print (‘Cookie :‘, Cookie)
60         headers = {
61                 "Accept": "application/json, text/javascript, */*; q=0.01",
62                 "Accept-Encoding": "gzip, deflate, br",
63                 "Accept-Language": "zh-CN,zh;q=0.9",
64                 "Connection": "keep-alive",
65                 "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8",
66                 "Cookie": Cookie,
67                 "Host": "pan.baidu.com",
68                 "User-Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36",
69                 #"X-Requested-With": "XMLHttpRequest"
70                 }
71         data = {
72                 "filelist" : ["/test.jpg"]
73                 }
74         response = requests.post (url = url, data = data, headers = headers)
75         print (response.content)
76     except BaseException as e:
77         print (e)
78     finally:
79         browser.quit ()
80         print (time.ctime ())

代码介绍:

首先通过使用Python3的selenium模块进行模拟百度云登录来获取删除百度云文件接口中所需的各项参数,主要包含bdstoken、BDUSS和STOKEN,bdstoken包含在页面HTML代码中,BDUSS和STOKEN则包含在Cookie中;

然后通过上述各项参数构造POST请求,完全模拟浏览器删除文件操作。

目前遇到的问题:但即使我构造了跟浏览器一模一样的请求头和cookie等信息,仍然会报错

报错信息如下:

{"errno":2,"info":[],"request_id":5310516426993481489}

Google得知为参数错误(参考链接:[Callback] 百度网盘errno错误代码汇总对照表

参考链接:如何清除百度网盘重复文件

原文地址:https://www.cnblogs.com/countryKing/p/9495886.html

时间: 2024-10-13 10:02:53

百度云删除文件API接口探索的相关文章

解决百度云离线文件因含有违规内容被系统屏蔽无法下载问题

最近网上风声查的很严呀,好多视频都无法下载,一下载就提示  离线文件因含有违规内容被系统屏蔽无法下载,上次下载老外的视频教程都说是违规内容,忍无可忍,最近发现了一个神器,BTEditor ,应该算是种子文件编辑器吧,貌似能把那些被屏蔽的资源弄成可以离线下载的,网址   http://www.bteditor.com, 大家可以有空试试. 最近网上风声查的很严呀,好多视频都无法下载,一下载就提示  离线文件因含有违规内容被系统屏蔽无法下载,上次下载老外的视频教程都说是违规内容,忍无可忍,最近发现了

ASP.NET获取百度地图提供的API接口里面的JSON

思路:开始是想直接在前台获取,但是跨域访问还是有点难度,而且格式必须是josnp格式的,最后嫌麻烦,不得已放弃. 我做的ASP.NET  而这个有自带的解析类,直接引用就行了 先在后台获取到JOSN: 1 private void GetQZYZuoBiaoToMap(HttpContext context) 2 { 3 //判断登录是否失效 4 if (context.Session["_user"] == null) 5 { 6 WriteResponse(context, fal

百度云搜索的API研究

参数说明key:搜索关键字infoid:key infoid必选其一 内容页idlimit:限制条数 为空则默认10sort:排序参数 可选值(size,date) 为空默认排序dasc:sort desc必需同时存在 排序方式 可选参数(t,f) 为空默认排序start:偏移 翻页使用 为空默认0in:内容包含 可选值(file,album,folder) 为空则默认三种都包含 返回值searchtime:搜索用时total:搜索总数list:搜索内容列表 idAuk:网盘短链接(若无短链接则

百度云获取全部文件API探索

通过抓包发现百度云获取文件列表接口https://pan.baidu.com/api/list,本文主要试图通过该接口来封装一个获取百度网盘文件的api接口 1.抓包分析 2.代码实现 #! /usr/bin/python3 # -*- coding: UTF-8 -*- import time, requests, json, urllib, sys, os def get_dir_path (dir_path, bdstoken, cookies, db_file): flag = True

[sharepoint]rest api文档库文件上传,下载,拷贝,剪切,删除文件,创建文件夹,修改文件夹属性,删除文件夹,获取文档列表

写在前面 最近对文档库的知识点进行了整理,也就有了这篇文章,当时查找这些接口,并用在实践中,确实废了一些功夫,也为了让更多的人走更少的弯路. 系列文章 sharepoint环境安装过程中几点需要注意的地方 Rest API的简单应用 rest api方式实现对文档库的管理 通过WebClient模拟post上传文件到服务器 WebHttpRequest在sharepoint文档库中的使用 [sharepoint]Rest api相关知识(转) [sharepoint]根据用户名获取该用户的权限

(转载)基于Bash命令行的百度云上传下载工具

原文链接:http://hi.baidu.com/meoow/item/aef5814bbd5be3e1bcf451e9 这是我根据百度云PCS的API写的一个基于bash的命令行工具, 使用了curl, awk, sed, xxd, bash,没有使用任何其他的语言解释器做辅助 目前,上传下载,文件列表,文件信息,创建文件夹,删除文件都没问题 复制和移动总是返回参数错误,实在找不出来哪里跟API不一致了,暂时放弃. 另外离线下载相关的API也都添加了,但是因为现在百度云不能申请,我是用的是by

360云盘转存百度云盘教程 360云盘如何转百度云

原本360云盘,百度云盘和华为网盘都是国内三大网盘存储软件,号称三足鼎力,而如今只剩下百度云盘了,360云盘在2016年11月份宣布关闭之后,很多使用360云盘的用户们不得不把存在360云盘里的资料转存到百度云盘了,那么问题来了,360云盘转存百度云盘要怎么转呢,有什么快速的方法吗,所幸360云盘给大家提供了足够的转移时间,容量在200GB以下的到17年4月底结束,而200GB以上的可以到17年10月底结束,所以大家可以不用着急,有充足的时间可以去学习一下360云盘怎么转存百度云盘. 360云盘

[黑科技]BaiduPCS-Go 使用CMD命令行全速下载百度云

BaiduPCS-Go 使用CMD命令行全速下载百度云 推荐博客:BaiduPCS-Go 使用CMD命令行全速下载百度云 | 老D博客 link:https://laod.cn/black-technology/baidupcs-go-baiduyun.html老D博客 | 关注谷歌服务,分享互联网精神!  https://laod.cn/补充: Windows系统(我用的是Win7),CMD命令行,BaiduPCS-GO插件. 1.配置环境变量:软件的路径放进path里即可[图解] 2.运行B

借助百度云API进行人脸识别

前言:本篇博客是笔者第一次使用百度云api进行人脸检测,主要内容包括两部分,一是获取接口,二是借助接口进行人脸检测,最终可以给出一个百分比判别两张人脸是否属于同一个人.笔者也是初步了解这方面的内容,也是参考了杂七杂八的博文,内容可能存在错误及其他毛病,欢迎指出. 1:在百度AI里面创建应用 在百度AI开放平台使用百度的人脸识别能力,只需要三个核心步骤即可操作完成: 获取接口权限 准备接口调用工具 进行接口调用. 获取接口权限 获取接口权限是调用接口的前提,主要分为以下几步: 1.进入百度云的人脸