documentation to simple decode a CBOR file downloaded from the internet
manalishah opened this issue · 2 comments
Hello,
I am completely new to this format and would appreciate if you could help me.
I currently have a bunch of CBOR formatted files that are dumped from Apache Nutch. The question is, how can i simply call decode? or i will have to first create an encoder to map it?
I only need to use the body tag in each response
this is the format of the file
y\x0fk{\n "url" : "http://168.144.229.73/company_logo.gif",\n "timestamp" : "1377529395000",\n "request" : {\n "method" : "GET",\n "client" : {\n "hostname" : "nsfpolardata.dyndns.org",\n "address" : "54.183.226.231",\n "software" : "Nutch-1.10-SNAPSHOT",\n "robots" : "CLASSIC",\n "contact" : {\n "name" : "",\n "email" : ""\n }\n },\n "headers" : [ [ "Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8" ], [ "Accept-Encoding", "" ], [ "Accept-Language", "en-us,en-gb,en;q=0.7,;q=0.3" ], [ "User-Agent", "" ] ],\n "body" : null\n },\n "response" : {\n "status" : "",\n "server" : {\n "hostname" : "168.144.229.73",\n "address" : ""\n },\n "headers" : [ [ "Content-Encoding", "" ], [ "Content-Type", "image/gif" ], [ "Date", "1424619196000" ], [ "Server", "Apache/2.2" ], [ "ETag", ""a89a0-3d4-4e4db0e41b2c0"" ], [ "Content-Length", "980" ], [ "nutch.crawl.score", "7.8264076E-14" ], [ "Last-Modified", "Mon, 26 Aug 2013 15:03:15 GMT" ], [ "fst", "33" ], [ "nutch.segment.name", "20150222070353" ], [ "Connection", "close" ], [ "Accept-Ranges", "bytes" ] ],\n "body" : "GIF89a\xef\xbf\xbd\u00000\u0000\xef\xbf\xbd\u0000\u0000\u0000\u0000\u0000\xef\xbf\xbdjl\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd@@@\xef\xbf\xbd&)ooo \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbf\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdADPPP\u0010\u0010\u0010\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd333```\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\x7f\x7f\x7f\xef\xbf\xbd\\\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xe5\x8f\x8f\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdppp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000!\xef\xbf\xbd\u0004\u0000\u0007\u0000\xef\xbf\xbd\u0000,\u0000\u0000\u0000\u0000\xef\xbf\xbd\u00000\u0000\u0000\u0005\xef\xbf\xbd\xef\xbf\xbd!\xef\xbf\xbddi\xef\xbf\xbdh\xef\xbf\xbd\xef\xbf\xbdl\xef\xbf\xbdp,\xef\xbf\xbdtm\xef\xbf\xbdx\xef\xbf\xbd\xef\xbf\xbd|\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdpH,\u001A\xef\xbf\xbd\xc8\xa4r\xef\xbf\xbdl:\xef\xbf\xbd\xd0\xa8tJ\xef\xbf\xbdZ\xef\xbf\xbd\xef\xbf\xbdK\xef\xbf\xbdPY\xef\xbf\xbd2\xef\xbf\xbd.v\xcc\xac\u0010\xce\x95\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdx)~~\xdb\x89t\xc2\x9c~\xef\xbf\xbd\u0003\xef\xbf\xbd{r'\t\u0012\u0011\u0000\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\u0000\u0011\u0003\u0018\tP\xef\xbf\xbd\n\u0007\xef\xbf\xbd\u000F2\n\xef\xbf\xbdP\xef\xbf\xbd$\xef\xbf\xbd&\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\u0011\u0013O\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd0\t\n\u0011\xef\xbf\xbd:\xef\xbf\xbd\"\xef\xbf\xbd#\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\u0011\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd1\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd0\u0003\r\u000E\xef\xbf\xbd9\xef\xbf\xbd\xef\xbf\xbd\"\u000F\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdK\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd/\u0003\u0005\u0005\xef\xbf\xbd7\xef\xbf\xbd|&\xc9\x88\r\xef\xbf\xbd#\xef\xbf\xbd\u0016\u000E\xef\xbf\xbdL\xce\x87\xef\xbf\xbd0\xef\xbf\xbd\u0000\xef\xbf\xbd,\u0010\u0010\b\u0018;\xd9\x82%\xdc\x87\u0014)\u0005\xef\xbf\xbd\u0003\u0007\u0016\u0003\xef\xbf\xbd\u0000\u0003J\xef\xbf\xbd\u0000C\xef\xbf\xbd\u0001\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd(\xef\xbf\xbd\bs\u0000\xef\xbf\xbd\u001D@P
\xef\xbf\xbd\u0001D\xef\xbf\xbd(\xef\xbf\xbd\u0012\xef\xbf\xbd\xef\xbf\xbd\u0017\u0002\t\u0016kI\xef\xbf\xbd1\xef\xbf\xbd\xce\xb6D\xef\xbf\xbdP\xef\xbf\xbd\xef\xbf\xbd\xe3\xb7\x90\xef\xbf\xbd\u0004\u0012\u0010\u0012_z\xef\xbf\xbd\u0012\u0014+\u0011\u0010\xef\xbf\xbd%\u0018\xef\xbf\xbd\f@\xca\x8e\u0007 \xef\xbf\xbd<\xef\xbf\xbdG\xdb\x88c\u0007\u0016\xef\xbf\xbd<\xef\xbf\xbd2\xef\xbf\xbdP\u0000\u00168\xef\xbf\xbd\xef\xbf\xbd\t\xef\xbf\xbd\xef\xbf\xbd\W\xef\xbf\xbd\u001E\xef\xbf\xbd\xef\xbf\xbdS\xef\xbf\xbd\u0001\xef\xbf\xbd\u0017\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdg\u0014V\xef\xbf\xbd\u0011JSX\xef\xbf\xbd\xef\xbf\xbd/`@\xef\xbf\xbd\xef\xbf\xbdD\xef\xbf\xbd\f\u0005\xd0\x82?\xef\xbf\xbd\u0000\u00139\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdZ\xef\xbf\xbd\u0007e\u0002\xef\xbf\xbd\xef\xbf\xbd\u0011A\"\u0003x\xef\xbf\xbd\u0016\xef\xbf\xbdg\xef\xbf\xbd1Z\xef\xbf\xbd)\u001A$\xef\xbf\xbd\u001A9\xd1\x81\u0004z\u0011\xef\xbf\xbdX\xef\xbf\xbd9\xe7\x81\xb9\xef\xbf\xbd4\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdp\xef\xbf\xbd\"]8\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xd7\xaeA\u001F\xef\xbf\xbdb\xef\xbf\xbd\xef\xbf\xbdD\u001A\xef\xbf\xbdA\xef\xbf\xbd\xef\xbf\xbd,+\u0000\xca\xb2(\xef\xbf\xbd&w\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdO\u0015m\xef\xbf\xbdp\u0010o\xef\xbf\xbdC\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd`.\u0018\u0014o_\xef\xbf\xbd+\xef\xbf\xbd\xef\xbf\xbdZ\xef\xbf\xbdpL\xef\xbf\xbd\u001D4\xef\xbf\xbd\xef\xbf\xbdz\xef\xbf\xbd\xef\xbf\xbd\u0013T{\xef\xbf\xbd>\xef\xbf\xbd\xef\xbf\xbdit\xef\xbf\xbd%4$\xef\xbf\xbd\xef\xbf\xbd.\xef\xbf\xbd\xef\xbf\xbd\u0002\xef\xbf\xbd\xef\xbf\xbd7P\u0000\xef\xbf\xbdy\xef\xbf\xbdg!\xef\xbf\xbd\o\xef\xbf\xbd\rU\xef\xbf\xbd5\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\u001B\xef\xbf\xbd}\xef\xbf\xbd\r8\u0001P\u0007\bP\xef\xbf\xbda\xef\xbf\xbd-f\xef\xbf\xbdQ\u0001:\xef\xbf\xbd\xef\xbf\xbd\u00004u\xef\xbf\xbd\xef\xbf\xbd\u0003\u0010|\xd3\x9e-n=\u0007\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\u001C\xef\xbf\xbd\u0016\\xef\xbf\xbd1x_-\u000ED\u0005\xef\xbf\xbde\u0016\bCK\xef\xbf\xbd>\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdV-\xef\xbf\xbd\xef\xbf\xbdW\t\u0014X6\xef\xbf\xbd\b\xef\xbf\xbd\u001D\xef\xbf\xbdT}%I\u0014q_IC\u0002\u0002\u0002\xef\xbf\xbd\u0006\xef\xbf\xbd\u0001\u0016\u001E\xef\xbf\xbd\xef\xbf\xbdc\u0002\u0012\xef\xbf\xbd\xef\xbf\xbd&\u0004\xef\xbf\xbd\b\xef\xbf\xbd$\xef\xbf\xbdf\u0002P\xef\xbf\xbd%\xef\xbf\xbd\u0000\u000BC\xef\xbf\xbd\xef\xbf\xbd@\xef\xbf\xbd\u0000\xef\xbf\xbdG\xef\xbf\xbdc\xef\xbf\xbd1\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd]\n\xef\xbf\xbd${\xef\xbf\xbd\xef\xbf\xbdI\xef\xbf\xbd\xef\xbf\xbd\u0011}\xef\xbf\xbd\xef\xbf\xbdh)\xef\xbf\xbd\xef\xbf\xbdc}9\u0002\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd<\xef\xbf\xbd0\xef\xbf\xbd"%\xef\xbf\xbd)\xef\xbf\xbd\b\u0002\xef\xbf\xbd\xef\xbf\xbdn\xef\xbf\xbdEJWb\xef\xbf\xbd\u0000\xef\xbf\xbd\xef\xbf\xbd?\xef\xbf\xbd\u001D\xef\xbf\xbd\xe6\x85\x8d\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\f\b\xef\xbf\xbd\b\u0013\f\xef\xbf\xbd\u0019\xef\xbf\xbd\xef\xbf\xbd$`\xef\xbf\xbd2(&w\xef\xbf\xbd\u000F:\xef\xbf\xbdH_\u000Bl\xd6\x92\xef\xbf\xbd\u0007\xef\xbf\xbd7\xd4\xac\xef\xbf\xbdM\xef\xbf\xbd*-\xef\xbf\xbd>\xc5\x8e+\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbde\xef\xbf\xbd-<\xef\xbf\xbd\u0010-\u0011H\xef\xbf\xbd\b\u0002\u0001\u0001\nSQs\xef\xbf\xbdJ\xef\xbf\xbdQ\xef\xbf\xbd\xef\xbf\xbd)&B\u00025n\xef\xbf\xbd\xef\xbf\xbdD\xdc\x8a\xef\xbf\xbd\u0004\xef\xbf\xbd\xef\xbf\xbdP\xef\xbf\xbd\u001F\xef\xbf\xbd\u0016\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd[\xef\xbf\xbd\u001A\\xef\xbf\xbd\u0011G\u001B\xef\xbf\xbd\xef\xbf\xbd;\xef\xbf\xbd\u0016\xA\u0002\u0018\xef\xbf\xbd\xef\xbf\xbd+\xef\xbf\xbd\xef\xbf\xbd\u0004\u0017l\xef\xbf\xbd\xef\xbf\xbd\b'\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\f7\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\u0010G,\xef\xbf\xbd\xef\xbf\xbd\u0014W\xef\xbf\xbdB\b\u0000;"\n },\n "key" : "73_229_144_168_2ce1dc3cb091222ed3a0eeb3b2ec6362f4cd9ab2_1424619196000",\n "imported" : "1424619196000"\n}
Thanks
Hi,
you have to parse the body part into a ByteArrayInputStream
(or to a byte array and then fill it into the ByteArrayInputStream
), then you can pass it easily to the CBOR decoder. As far as I know (meaning last time I used this library) there is no way to pass a string representation of the byte stream directly into the decoder.
thanks, I made a pathetic typo and hence couldn't get it working.