2024-05-12 15:53:59 发布
网友
我有一个Python脚本,可以帮助我在VK中发布一些注释。但有时我的脚本需要解决验证码。我有以下代码:
vk = vkontakte.API(token=token) response = vk.wall.repost(object = link)
据我所知,如果我需要解决验证码,vkapi会引发异常。但是,我找不到任何例子。问题是我不能从中得到captcha_sid和{}。在
captcha_sid
或者你知道如何才能得到JSON格式的响应,而不是作为例外?在
首先,确保您有vkapi的最后一个稳定版本
但是,在旧版本中,当您接收vkeror时,captcha_img和{}是.error的键,而不是{}本身的键:
captcha_img
.error
except vkerror as e: captcha_img = e.error['captcha_img'] captcha_sid = e.error['captcha_sid']
只需确保您定义了正确的错误:
您可以通过http请求访问vkapi。为此,您需要访问令牌,请阅读here如何获取它(如果您还没有)。在
那么你的方式将很容易通过链接
https://api.vk.com/method/wall.repost?object=WALL_OBJECT_HERE&group_id=TARGET_GROUP_ID&access_token=YOUR_ACCESS_TOKEN
如果repost成功完成,您将看到如下响应:
但如果您需要解决验证码问题,响应将如下所示:
{"error":{"error_code":14,"error_msg":"Captcha needed","request_params":[{"key":"oauth","value":"1"},{"key":"method","value":"wall.repost"},{"key":"object","value":"your_object_here"},{"key":"group_id","value":"56983001"}],"captcha_sid":"381041951450","captcha_img":"http:\/\/api.vk.com\/captcha.php?sid=381041951450&s=1"}}
现在你可以很容易地获得captcha sid和captcha_img链接,下载它,求解并重复上面的请求,只需添加2个参数:captcha_key=YOUR_SOLVED_CAPTCHA&captcha_sid=SID_YOU_GOT
captcha_key=YOUR_SOLVED_CAPTCHA&captcha_sid=SID_YOU_GOT
成功:)
首先,确保您有vkapi的最后一个稳定版本
但是,在旧版本中,当您接收vkeror时,}是}本身的键:
captcha_img
和{.error
的键,而不是{只需确保您定义了正确的错误:
^{pr2}$您可以通过http请求访问vkapi。为此,您需要访问令牌,请阅读here如何获取它(如果您还没有)。在
那么你的方式将很容易通过链接
如果repost成功完成,您将看到如下响应:
^{pr2}$但如果您需要解决验证码问题,响应将如下所示:
现在你可以很容易地获得captcha sid和captcha_img链接,下载它,求解并重复上面的请求,只需添加2个参数:
captcha_key=YOUR_SOLVED_CAPTCHA&captcha_sid=SID_YOU_GOT
成功:)
相关问题 更多 >
编程相关推荐