部分读Range
头对我的作品罚款:从READ/PART或URL部分读通过HTTP READ/SEEK
rebol []
client: open tcp://www.apache.org/
client/awake: func [event /local port] [
port: event/port
switch event/type [
lookup [open port]
connect [
write port rejoin [
{GET/HTTP/1.1} crlf
{User-Agent: curl/7.26.0} crlf
{Host: www.apache.org} crlf
{Accept: */*} crlf
{Range: bytes=0-9} crlf
crlf
]
]
wrote [read port]
read [
probe to-string port/data
probe length? port/data
clear port/data
]
]
false
]
wait [client 3]
close client
print "Done"
我想我可以使用READ /一部分做同样的事情:
length? read/part http://www.apache.org/ 10 ;40195
length? read http://www.apache.org/ ;40195
但它没有工作,仍然获得所有的字节。与READ/SEEK
相同。 这是为什么? (顺便说一下,它在Rebol2中有效。)
所以在Rebol2,READ/PART只是获取的所有数据,并返回它的一部分? “痕迹”很酷! –
是的。这不是在协议方面完成的。 –