我的问题可能看起来很愚蠢,但我在谷歌上进行了太多搜索后才问这个问题,但没有任何线索。
我正在使用 iCloud 网络服务。为此,我已将此 Python 代码转换为 PHP。https://github.com/picklepete/pyicloud https://github.com/picklepete/pyicloud
到目前为止,一切进展顺利。当使用 icloud 用户名、密码进行身份验证时,我将获取 Web 服务 URL 列表作为响应的一部分。现在,例如要使用联系人 Web 服务,我需要使用联系人 Web 服务 URL 并向该 URL 添加一部分以获取联系人。
https://p45-contactsws.icloud.com:443/co/startup https://p45-contactsws.icloud.com:443/co/startup带有一些参数。
网络服务 URLhttps://p45-contactsws.icloud.com:443 https://p45-contactsws.icloud.com:443正在进行身份验证时做出响应。但后面的部分,“co/startup”出现在 python 代码中。我不知道他们是怎么找到那部分的。因此,对于 Python 代码中的某些服务来说,它们运行良好。但我想使用其他一些服务,比如https://p45-settingsws.icloud.com:443 https://p45-settingsws.icloud.com:443, https://p45-keyvalueservice.icloud.com:443 https://p45-keyvalueservice.icloud.com:443等等,当我尝试向其他服务发送带有正确参数的请求时,我收到诸如 404 not found 或未经授权的访问之类的错误。所以我认为必须添加一些 URL 部分,就像联系人一样。如果有人知道我如何或在哪里可以获得正确的 URL 部分,我将非常感激。
提前感谢所有人花时间阅读/回答我的问题。
恐怕这些 API 端点似乎没有官方来源,因为它们似乎是通过嗅探网络调用而不是来自 Apple 的正确指南来发现的。例如,这个演示文稿 https://www.elcomsoft.com/PR/recon_2013.pdf,来自一家取证工具公司,发布于 2013 年,涵盖了一些相关端点。请注意,当时 iOS 仍处于版本 5 和 6(相对于当前的 v9.3)。
网络上的所有其他代码示例基本上都使用最初在 2012-2013 年观察到的同一组 API 端点。 (这里是来自另一个 python 模块的片段 https://raw.githubusercontent.com/mindcollapse/iCloud-API/master/iCloud.py以及您可以使用的其他 URL。)但是,它们几乎都指向彼此作为源。
如果您想走一条不同的道路,Apple 现在推出CloudKit 和 CloudKit JS https://developer.apple.com/icloud/针对使用 iCloud 数据的已注册应用程序的解决方案。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)