6

我的问题可能看起来很傻,但我在谷歌上搜索了太多之后才问这个问题,但没有任何线索。

我正在使用 iCloud 网络服务。为此,我已将此 Python 代码转换为 PHP。https://github.com/picklepete/pyicloud

到目前为止,一切正常。使用 icloud 用户名、密码进行身份验证时,我会得到一个 Web 服务 URL 列表作为响应的一部分。现在,例如要使用联系人 Web 服务,我需要使用联系人 Web 服务 URL 并向该 URL 添加一个部分以获取联系人。

https://p45-contactsws.icloud.com:443/co/startup 带有一些参数。

Web 服务 URL https://p45-contactsws.icloud.com:443在身份验证时响应。但是后面的部分,'co/startup' 在 python 代码中。我不知道他们是如何找到那部分的。因此,对于 Python 代码中的一些服务,它们运行良好。但是我想使用一些其他服务,例如https://p45-settingsws.icloud.com:443https://p45-keyvalueservice.icloud.com:443 等,并且当我尝试使用正确的参数发送请求时其他服务,我收到诸如 404 not found 或未经授权的访问之类的错误。所以我相信必须像联系人一样添加一些 URL 部分。如果有人知道我如何或在哪里可以获得正确的 URL 部分,我将非常感激。

提前感谢大家花时间阅读/回答我的问题。

4

1 回答 1

0

恐怕这些 API 端点似乎没有官方来源,因为它们似乎是通过嗅探网络调用而不是来自 Apple 的适当指南发现的。例如,这个来自一家取证工具公司的演示文稿来自 2013 年,涵盖了一些相关的端点。请注意,当时 iOS 仍处于版本 5 和 6(与当前的 v9.3 相比)。

网络上的所有其他代码示例基本上都使用最初在 2012-2013 年观察到的同一组 API 端点。(这是另一个 python 模块的片段,其中包含您可以使用的其他 URL。)但是,它们几乎都指向彼此作为源。

如果您想另辟蹊径,Apple 现在为使用 iCloud 数据的注册应用推广CloudKit 和 CloudKit JS解决方案。

于 2016-05-10T00:34:55.733 回答