最新Python还能实现午夜凶铃的效果?这也太恐怖了吧。(1)

result = api.validate_2fa_code(code)

if not result: raise RuntimeError(‘Failed to verify security code’)

if not api.is_trusted_session:

result = api.trust_session()

if not result: raise RuntimeError(‘Failed to request trust. You will likely be prompted for the code again in the coming weeks’)

elif api.requires_2sa:

devices = api.trusted_devices

for i, device in enumerate(devices):

print(

" %s: %s" % (i, device.get(‘deviceName’,

“SMS to %s” % device.get(‘phoneNumber’)))

)

device = click.prompt(‘Which device would you like to use?’, default=0)

device = devices[device]

if not api.send_verification_code(device): raise RuntimeError(‘Failed to send verification code’)

code = click.prompt(‘Please enter validation code’)

if not api.validate_verification_code(device, code): raise RuntimeError(‘Failed to verify verification code’)

成功认证之后,你就可以用这个接口干很多有意思的东西了,比如查询自己的账号在哪些设备上认证过了(这个其实可以间接地帮助你查询自己的账号是否被盗用过):

api.devices

效果如下:

查询对应的设备的物理位置(手机找不到的时候可以用?):

api.iphone.location() # 如果你只有一台关联该账号的苹果设备的话

api.devices[0].location() # []用来索引对应的设备

效果如下:

可以发现你手机的位置信息,例如经纬度,确定经纬度时是使用的WIfi还是蜂窝网络等等信息都是可以返回的。该API其实还可以实现很多有趣的功能(比如获得你的通讯录信息,备份你的iCloud里的文件等等),这个我们后面有时间可以继续介绍,这里为了不跑题,我们直接开始表演让手机自动发出声音吧,其实很简单,你只需要这样调用接口即可进行整蛊:

api.devices[1].play_sound() # 设备一定要选对,别回头吓到自己

过几秒钟之后,你的手机就会播放铃声并显示默认通知了(“查找我的 iPhone 警报”),并且将向您发送一封确认电子邮件。手机上的效果类似这样:

接下来,你只需要写个定时程序,指定每天晚上12点-凌晨3点每隔一段时间就让手机响一次就可以实现午夜凶铃的效果啦:

while True:

now_time = datetime.datetime.now()

hour = str(now_time).split(’ ‘)[1].split(’😂[0]

if hour in [‘00’, ‘01’, ‘02’]:

api.devices[1].play_sound()

time.sleep(random.randint(500, 800))

整理一下,完整源代码如下:

import time

import click

import random

import datetime

from pyicloud import PyiCloudService

api = PyiCloudService(‘xxx’, ‘xxx’)

if api.requires_2fa:

code = input('Enter the code you received of one of your approved devices: ')

result = api.validate_2fa_code(code)

if not result: raise RuntimeError(‘Failed to verify security code’)

if not api.is_trusted_session:

result = api.trust_session()

if not result: raise RuntimeError(‘Failed to request trust. You will likely be prompted for the code again in the coming weeks’)

elif api.requires_2sa:

devices = api.trusted_devices

for i, device in enumerate(devices):

print(

" %s: %s" % (i, device.get(‘deviceName’,

“SMS to %s” % device.get(‘phoneNumber’)))

)

device = click.prompt(‘Which device would you like to use?’, default=0)

device = devices[device]

if not api.send_verification_code(device): raise RuntimeError(‘Failed to send verification code’)

code = click.prompt(‘Please enter validation code’)

最后

Python崛起并且风靡,因为优点多、应用领域广、被大牛们认可。学习 Python 门槛很低,但它的晋级路线很多,通过它你能进入机器学习、数据挖掘、大数据,CS等更加高级的领域。Python可以做网络应用,可以做科学计算,数据分析,可以做网络爬虫,可以做机器学习、自然语言处理、可以写游戏、可以做桌面应用…Python可以做的很多,你需要学好基础,再选择明确的方向。这里给大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

👉Python所有方向的学习路线👈

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

👉Python必备开发工具👈

工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。

👉Python全套学习视频👈

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

👉实战案例👈

学python就与学数学一样,是不能只看书不做题的,直接看步骤和答案会让人误以为自己全都掌握了,但是碰到生题的时候还是会一筹莫展。

因此在学习python的过程中一定要记得多动手写代码,教程只需要看一两遍即可。

👉大厂面试真题👈

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

需要这份系统化学习资料的朋友,可以戳这里无偿获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 14
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值