微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Caldav 发现从 iOS 到 caldav 服务器

如何解决Caldav 发现从 iOS 到 caldav 服务器

根据一些在线文章,iOS 会针对发现的前两部分发出 PROPFIND 请求,然后发出 OPTIONS 请求。

我在 iis 上创建了一个带有 aspnetcore api 的 caldav 服务器。我已经实现了中间件来捕获所有传入的请求和响应。

我的api会成功从.well-kNown/caldav请求重新路由,请求Authentication,然后响应第一个PROPFIND。响应后,iOS 继续尝试向不同的 URL 发出相同的 PROPFIND 请求。我的回答肯定有问题,但我只是没有看到。

我已经仔细阅读了 dav/caldav 规范/RFC。等

我找到了这两篇文章Caldav Discovery Caldav Handshake

Similar question,but I do not get OPTIONS request

我的回答有什么问题?

iOS PROPFIND 请求

<?xml version="1.0" encoding="UTF-8"?>
<A:propfind xmlns:A="DAV:">
  <A:prop>
    <A:current-user-principal/>
    <A:principal-URL/>
    <A:resourcetype/>
  </A:prop>
</A:propfind>

服务器响应和标头:

Cache-Control no-cache,no-store Pragma 无缓存 内容类型应用程序/xml

<?xml version="1.0" encoding="UTF-8"?>
<multistatus xmlns:D="DAV:" xmlns:C="urn:ietf:params:xml:ns:caldav" xmlns:CS="http://calendarserver.org/ns/">
  <D:response>
    <D:href>/calendars/</D:href>
    <D:propstat>
      <D:status>HTTP/1.1 200 OK</D:status>
      <D:prop>
        <D:current-user-principal>
          <D:href>/calendars/user@user.com/</D:href>
        </D:current-user-principal>
        <D:resourcetype>
          <D:collection />
        </D:resourcetype>
      </D:prop>
    </D:propstat>
  </D:response>

IIS 请求日志:

1.1.1.1,-,5/16/2021,23:49:12,W3SVC8,myserver,2.2.2.2,109,479,314,308,PROPFIND,/.well-kNown/caldav,1.1.1.1,125,471,453,401,/calendars/,93,538,1829,207,78,1256,282,404,/,1267,/principals/,1334,62,1292,/calendar/dav/user@user.com/user/,

在第三次请求之后,我报告了一个响应,但看起来 iOS 仍在尝试使用相同的 PROPFIND 请求的其他一些 URL。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?