Yes, you can specify multiple ranges with:  Range: bytes=5-15,25-30,40-50  However, the response will be encoded in multipart/byteranges encoding, so you will need to parse that.
To read part of a file, use the Read Object method with the Range request header. In the example below, the request is for 11 bytes (bytes 5-15).  Request   GET /rest/namespace/mydirectory/samplefile HTTP/1.1 accept: */* date: Mon, 03 Aug 2009 13:35:11 GMT content-type: application/octet-stream x-emc-date: Mon, 03 Aug 2009 13:35:11 GMT range: Bytes=5-15 host: 168.159.116.96 x-emc-uid: 33115732f3b7455d9d2344ddd235f4b9/user1 x-emc-signature: vv7reSLatse4u7WxoO7FPSjJCpY=  I wonder is it possible to read part of the file specifying multiple ranges, say something like:  Request   GET /rest/namespace/mydirectory/samplefile HTTP/1.1 accept: */* date: Mon, 03 Aug 2009 13:35:11 GMT content-type: application/octet-stream x-emc-date: Mon, 03 Aug 2009 13:35:11 GMT range: Bytes=5-15 range: Bytes=25-30 range: Bytes=40-50 range: Bytes=80-100 range: Bytes=245-300 range: Bytes=899-1000 range: Bytes=5000-6000 host: 168.159.116.96 x-emc-uid: 33115732f3b7455d9d2344ddd235f4b9/user1 x-emc-signature: vv7reSLatse4u7WxoO7FPSjJCpY=
Reading part of a file in Atmos cloud storage