rpc get hex not json
The second parameter of the RPC call is a boolean for decoding the results or not.

Setting this to False will return the hex encoded block. 

hash = "00000000839a8e6886ab5951d76f411475428afc90947ee320161bbf18eb6048"
print rpc_connection.getblock(hash, False)