diff --git a/docs/user/advanced.rst b/docs/user/advanced.rst index ac6dd6b57b..9a40490830 100644 --- a/docs/user/advanced.rst +++ b/docs/user/advanced.rst @@ -495,6 +495,21 @@ set ``stream`` to ``True`` and iterate over the response with for line in r.iter_lines(): # filter out keep-alive new lines + if line: + decoded_line = line.decode('utf-8') + print(json.loads(decoded_line)) + +When using `decode_unicode=True` with +:meth:`Response.iter_lines() ` or +:meth:`Response.iter_content() `, you'll want +to provide a fallback encoding in the event the server doesn't provide one:: + + r = requests.get('http://httpbin.org/stream/20', stream=True) + + if r.encoding is None: + r.encoding = 'utf-8' + + for line in r.iter_lines(decode_unicode=True): if line: print(json.loads(line))