【发布时间】:2020-09-11 18:14:41
【问题描述】:
我有一个在本地网络上运行的 webdav 服务器,我能够得到其他请求的响应,但是 PROPFIND 让 Curl 和 Postman 都挂起而不返回任何内容,尽管我看到响应成功(207 Multi-Status)线鲨。我怀疑与网络适配器或分块编码有关的东西,但真的可以在这方面使用你的帮助!使用 Mac/Catalina 和以下行:
curl --location --request PROPFIND 'http://192.168.1.102/DATALOG' \
--header 'Content-Type: text/xml' \
--header 'Depth: 1' \
--header 'Accept: */*' \
--data-raw '<?xml version="1.0" encoding="utf-8"?><D:propfind xmlns:D="DAV:"><D:prop><D:getlastmodified/><D:getcontentlength/><D:creationdate/><D:resourcetype/></D:prop></D:propfind>'
编辑: 这是一个示例响应,对我来说似乎所有 cr/lfs 都已到位,但我确实收到了 httpolice 中缺少 cr 的投诉。
00000000 48 54 54 50 2f 31 2e 31 20 32 30 37 20 4d 75 6c HTTP/1.1 207 Mul
00000010 74 69 2d 53 74 61 74 75 73 0d 0a 53 65 72 76 65 ti-Statu s..Serve
00000020 72 3a 20 58 63 65 72 65 62 65 6c 6c 75 6d 2f 31 r: Xcere bellum/1
00000030 2e 30 0d 0a 43 6f 6e 6e 65 63 74 69 6f 6e 3a 20 .0..Conn ection:
00000040 63 6c 6f 73 65 0d 0a 43 6f 6e 74 65 6e 74 2d 54 close..C ontent-T
00000050 79 70 65 3a 20 74 65 78 74 2f 78 6d 6c 0d 0a 4c ype: tex t/xml..L
00000060 6f 63 61 74 69 6f 6e 3a 20 68 74 74 70 3a 2f 2f ocation: http://
00000070 31 39 32 2e 31 36 38 2e 31 2e 31 30 32 2f 44 43 192.168. 1.102/DC
00000080 49 4d 2f 0d 0a 54 72 61 6e 73 66 65 72 2d 45 6e IM/..Tra nsfer-En
00000090 63 6f 64 69 6e 67 3a 20 63 68 75 6e 6b 65 64 0d coding: chunked.
000000A0 0a 0d 0a ...
000000A3 3c 3f 78 6d 6c 20 76 65 72 73 69 6f 6e 3d 27 31 <?xml ve rsion='1
000000B3 2e 30 27 20 65 6e 63 6f 64 69 6e 67 3d 27 75 74 .0' enco ding='ut
000000C3 66 2d 38 27 3f 3e 3c 44 3a 6d 75 6c 74 69 73 74 f-8'?><D :multist
000000D3 61 74 75 73 20 78 6d 6c 6e 73 3a 62 3d 27 75 72 atus xml ns:b='ur
000000E3 6e 3a 75 75 69 64 3a 63 32 66 34 31 30 31 30 2d n:uuid:c 2f41010-
000000F3 36 35 62 33 2d 31 31 64 31 2d 61 32 39 66 2d 30 65b3-11d 1-a29f-0
00000103 30 61 61 30 30 63 31 34 38 38 32 2f 27 20 78 6d 0aa00c14 882/' xm
00000113 6c 6e 73 3a 63 3d 27 78 6d 6c 3a 27 20 78 6d 6c lns:c='x ml:' xml
00000123 6e 73 3a 44 3d 27 44 41 56 3a 27 3e 3c 44 3a 72 ns:D='DA V:'><D:r
00000133 65 73 70 6f 6e 73 65 3e 3c 44 3a 68 72 65 66 3e esponse> <D:href>
00000143 68 74 74 70 3a 2f 2f 31 39 32 2e 31 36 38 2e 31 http://1 92.168.1
00000153 2e 31 30 32 2f 44 43 49 4d 2f 3c 2f 44 3a 68 72 .102/DCI M/</D:hr
00000163 65 66 3e 3c 44 3a 70 72 6f 70 73 74 61 74 3e 3c ef><D:pr opstat><
00000173 44 3a 70 72 6f 70 3e 3c 44 3a 72 65 73 6f 75 72 D:prop>< D:resour
00000183 63 65 74 79 70 65 3e 3c 44 3a 63 6f 6c 6c 65 63 cetype>< D:collec
00000193 74 69 6f 6e 2f 3e 3c 2f 44 3a 72 65 73 6f 75 72 tion/></ D:resour
000001A3 63 65 74 79 70 65 3e 3c 44 3a 67 65 74 63 6f 6e cetype>< D:getcon
000001B3 74 65 6e 74 6c 65 6e 67 74 68 3e 30 3c 2f 44 3a tentleng th>0</D:
000001C3 67 65 74 63 6f 6e 74 65 6e 74 6c 65 6e 67 74 68 getconte ntlength
000001D3 3e 3c 44 3a 69 73 72 65 61 64 6f 6e 6c 79 3e 30 ><D:isre adonly>0
000001E3 3c 2f 44 3a 69 73 72 65 61 64 6f 6e 6c 79 3e 3c </D:isre adonly><
000001F3 2f 44 3a 70 72 6f 70 3e 3c 44 3a 73 74 61 74 75 /D:prop> <D:statu
00000203 73 3e 48 54 54 50 2f 31 2e 31 20 32 30 30 20 4f s>HTTP/1 .1 200 O
00000213 4b 3c 2f 44 3a 73 74 61 74 75 73 3e 3c 2f 44 3a K</D:sta tus></D:
00000223 70 72 6f 70 73 74 61 74 3e 3c 44 3a 70 72 6f 70 propstat ><D:prop
00000233 73 74 61 74 3e 3c 44 3a 70 72 6f 70 3e 3c 44 3a stat><D: prop><D:
00000243 63 72 65 61 74 69 6f 6e 64 61 74 65 2f 3e 3c 44 creation date/><D
00000253 3a 67 65 74 6c 61 73 74 6d 6f 64 69 66 69 65 64 :getlast modified
00000263 2f 3e 3c 2f 44 3a 70 72 6f 70 3e 3c 44 3a 73 74 /></D:pr op><D:st
00000273 61 74 75 73 3e 48 54 54 50 2f 31 2e 31 20 34 30 atus>HTT P/1.1 40
00000283 34 20 4e 6f 74 20 46 6f 75 6e 64 3c 2f 44 3a 73 4 Not Fo und</D:s
00000293 74 61 74 75 73 3e 3c 2f 44 3a 70 72 6f 70 73 74 tatus></ D:propst
000002A3 61 74 3e 3c 2f 44 3a 72 65 73 70 6f 6e 73 65 3e at></D:r esponse>
000002B3 3c 44 3a 72 65 73 70 6f 6e 73 65 3e 3c 44 3a 68 <D:respo nse><D:h
000002C3 72 65 66 3e 68 74 74 70 3a 2f 2f 31 39 32 2e 31 ref>http ://192.1
000002D3 36 38 2e 31 2e 31 30 32 2f 44 43 49 4d 2f 31 30 68.1.102 /DCIM/10
000002E3 30 5f 5f 54 53 42 2f 3c 2f 44 3a 68 72 65 66 3e 0__TSB/< /D:href>
000002F3 3c 44 3a 70 72 6f 70 73 74 61 74 3e 3c 44 3a 70 <D:props tat><D:p
00000303 72 6f 70 3e 3c 44 3a 72 65 73 6f 75 72 63 65 74 rop><D:r esourcet
00000313 79 70 65 3e 3c 44 3a 63 6f 6c 6c 65 63 74 69 6f ype><D:c ollectio
00000323 6e 2f 3e 3c 2f 44 3a 72 65 73 6f 75 72 63 65 74 n/></D:r esourcet
00000333 79 70 65 3e 3c 44 3a 67 65 74 63 6f 6e 74 65 6e ype><D:g etconten
00000343 74 6c 65 6e 67 74 68 3e 30 3c 2f 44 3a 67 65 74 tlength> 0</D:get
00000353 63 6f 6e 74 65 6e 74 6c 65 6e 67 74 68 3e 3c 44 contentl ength><D
00000363 3a 69 73 72 65 61 64 6f 6e 6c 79 3e 30 3c 2f 44 :isreado nly>0</D
00000373 3a 69 73 72 65 61 64 6f 6e 6c 79 3e 3c 2f 44 3a :isreado nly></D:
00000383 70 72 6f 70 3e 3c 44 3a 73 74 61 74 75 73 3e 48 prop><D: status>H
00000393 54 54 50 2f 31 2e 31 20 32 30 30 20 4f 4b 3c 2f TTP/1.1 200 OK</
000003A3 44 3a 73 74 61 74 75 73 3e 3c 2f 44 3a 70 72 6f D:status ></D:pro
000003B3 70 73 74 61 74 3e 3c 44 3a 70 72 6f 70 73 74 61 pstat><D :propsta
000003C3 74 3e 3c 44 3a 70 72 6f 70 3e 3c 44 3a 63 72 65 t><D:pro p><D:cre
000003D3 61 74 69 6f 6e 64 61 74 65 2f 3e 3c 44 3a 67 65 ationdat e/><D:ge
000003E3 74 6c 61 73 74 6d 6f 64 69 66 69 65 64 2f 3e 3c tlastmod ified/><
000003F3 2f 44 3a 70 72 6f 70 3e 3c 44 3a 73 74 61 74 75 /D:prop> <D:statu
00000403 73 3e 48 54 54 50 2f 31 2e 31 20 34 30 34 20 4e s>HTTP/1 .1 404 N
00000413 6f 74 20 46 6f 75 6e 64 3c 2f 44 3a 73 74 61 74 ot Found </D:stat
00000423 75 73 3e 3c 2f 44 3a 70 72 6f 70 73 74 61 74 3e us></D:p ropstat>
00000433 3c 2f 44 3a 72 65 73 70 6f 6e 73 65 3e 3c 2f 44 </D:resp onse></D
00000443 3a 6d 75 6c 74 69 73 74 61 74 75 73 3e :multist atus>
【问题讨论】:
-
挂起的响应表明这是一个服务器错误。如果您的请求中有错误,我只是希望返回一个错误。
-
我仍然看到 Wireshark 的响应为 207,这就是为什么我更倾向于客户端。