如何在不打開每個文件的情況下下載文件的內容?
首先:單獨下載文件有什麼問題? (通過GET獲得給定的URL)除非你處理大量的數據,這應該是很好的,如果你並行發佈GET,速度實際上會更快。
如果服務器支持它(大多數情況下),則可以發出CalDAV multiget REPORT,RFC 4791 7.9。此外在這裏描述:Building a CalDAV client,例如:
REPORT /calendars/johndoe/home/ HTTP/1.1
Depth: 1
Prefer: return-minimal
Content-Type: application/xml; charset=utf-8
Accept: application/xml
<c:calendar-multiget xmlns="DAV:" xmlns:c="urn:ietf:params:xml:ns:caldav">
<prop>
<getetag />
<c:calendar-data />
</prop>
<href>/calendars/johndoe/home/132456762153245.ics</href>
<href>/calendars/johndoe/home/fancy-caldav-client-1234253678.ics</href>
</c:calendar-multiget>
是否有可能只是下載一個範圍內的日曆項?
是的,您也可以使用CalDAV calendar-query REPORT下載給定時間範圍的數據。示例:
REPORT /calendars/johndoe/home/ HTTP/1.1
Depth: 1
Prefer: return-minimal
Content-Type: application/xml; charset=utf-8
Accept: application/xml
<calendar-query xmlns:D="DAV:" xmlns="urn:ietf:params:xml:ns:caldav">
<D:prop>
<D:getetag />
<calendar-data />
</D:prop>
<filter>
<comp-filter name="VCALENDAR">
<comp-filter name="VEVENT">
<time-range start="20060104T000000Z"
end="20060105T000000Z"/>
</comp-filter>
</comp-filter>
</filter>
</calendar-query >
不同服務器之間實際支持的日曆過濾器有所不同。
要使用curl發佈此類報告,請使用-X REPORT
並使用-d
嵌入查詢。
來源
2017-05-03 20:11:05
hnh