2012-01-31 52 views
0

我很好奇與規範相比分塊數據的正確格式以及Twitter從其活動流返回的內容。正確的塊式傳輸編碼格式

當使用捲曲,試圖從Twitter獲取一分塊流,嫋嫋報道:

~$ curl -v https://stream.twitter.com/1/statuses/sample.json?delimited=length -u ...:... 
< HTTP/1.1 200 OK 
< Content-Type: application/json 
< Transfer-Encoding: chunked 
< 
1984 
{"place":null,"text":... 
1984 
{"place":null,"text":... 
1984 
{"place":null,"text":... 

我已經寫了基於Wikipedia info和HTTP規範(本質上是分塊數據發射器:\ r \ n \ r \ n),以及我的結果如下所示:

~$ curl -vN http://localhost:7080/stream 
< HTTP/1.1 200 OK 
< Content-Type: application/json; charset=UTF-8 
< Transfer-Encoding: chunked 
< 
{"foo":{"bar":... 
{"foo":{"bar":... 
{"foo":{"bar":... 

的不同之處在於它似乎Twitter正在包括字符串的長度爲組塊的身體的一部分爲一個整數(與結合Hex中的值也必須存在),並且我想要做出確定我沒有錯過任何東西。 Twitter的文檔沒有提及長度值,它不在examples中,我在規範中也沒有看到它的任何內容。

回答

0

如果您的代碼沒有發出明顯不正確的長度信息。請參閱http://greenbytes.de/tech/webdav/rfc2616.html#rfc.section.3.6.1

+0

我可能並不清楚這一點,但我包括在我的分塊輸出中的長度(以十六進制表示)(這就是爲什麼在我的例子中捲曲沒有被炸掉)。看起來,SO修剪了我要發送的一個示例,即 \ r \ n \ r \ n。但是,Twitter包含十六進制和作爲整體的一部分的長度。十六進制值不會通過捲曲顯示。我已閱讀規範並按其定義實施,這就是爲什麼我對Twitter的API所看到的東西感到好奇。 – 2012-01-31 09:39:36