There are two separate ByteString modules, one for lazy ByteStrings and one for strict ByteStrings. simpleHTTP returns a lazy bytestring but you imported the strict bytestring module so unpack is expecting a strict bytestring.
Try changing
import qualified Data.ByteString.Char8 as BS
to
import qualified Data.ByteString.Lazy.Char8 as BS
That said, you need to be careful if you use the Char8 version of the bytestring modules, since the String <-> ByteString conversions only work if you use ASCII encoding. I would recommend converting your bytestrings to Text with an appropriate encoding function and then printing that.