From a89530aef59af2eb7b7619e571003f916e6c4626 Mon Sep 17 00:00:00 2001 From: Kenneth Reitz Date: Mon, 23 Jan 2012 02:42:05 -0500 Subject: [PATCH] explain binary response data --- docs/user/quickstart.rst | 38 ++++++++++++++++++++++++++++++++------ 1 file changed, 32 insertions(+), 6 deletions(-) diff --git a/docs/user/quickstart.rst b/docs/user/quickstart.rst index 551d0c3..ce7709e 100644 --- a/docs/user/quickstart.rst +++ b/docs/user/quickstart.rst @@ -36,16 +36,42 @@ Response Content We can read the content of the server's response:: - >>> r.content + >>> r.text '[{"repository":{"open_issues":0,"url":"https://github.com/... -Requests does its best to decode content from the server. Most unicode -charsets, ``gzip``, and ``deflate`` encodings are all seamlessly decoded. +Requests will automatically decode content from the server. Most unicode +charsets are seamlessly decoded. When you make a request, ``r.encoding`` is set, based on the HTTP headers. -Requests will attempt to use that encoding when you access ``r.content``. You -can manually set ``r.encoding`` to any encoding you'd like (including ``None``), -and that charset will be used. +Requests will use that encoding when you access ``r.text``. If ``r.encoding`` +is ``None``, Requests will make an extremely educated guess of the encoding +of the response body. You can manually set ``r.encoding`` to any encoding +you'd like, and that charset will be used. + + +Binary Response Content +----------------------- + +You can also access the response body as bytes, for non-text requests:: + + >>> r.content + b'[{"repository":{"open_issues":0,"url":"https://github.com/... + +The ``gzip`` and ``deflate`` transfer-encodings are automatically decoded for you. + + +Raw Response Content +-------------------- + +In the rare case that you'd like to get the absolute raw socket response from the server, +you can access ``r.raw``:: + + >>> r.raw + + + >>> r.raw.read(10) + '\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\x03' + Make a POST Request -- 2.7.4