mirror of
https://github.com/httpie/cli.git
synced 2024-11-28 08:38:44 +02:00
Not all web servers return UTF-8 and will crash httpie when decoding the response
This commit is contained in:
parent
b567104267
commit
2f569b901d
@ -163,13 +163,22 @@ def main():
|
||||
|
||||
# Display the response.
|
||||
original = response.raw._original_response
|
||||
|
||||
try:
|
||||
decode_from = [
|
||||
bit.split('=')[1] for bit in response.headers['content-type'].split(';')
|
||||
if 'charset' in bit
|
||||
][0]
|
||||
except IndexError:
|
||||
decode_from = 'utf-8'
|
||||
|
||||
status_line, headers, body = (
|
||||
u'HTTP/{version} {status} {reason}'.format(
|
||||
version='.'.join(str(original.version)),
|
||||
status=original.status, reason=original.reason,
|
||||
),
|
||||
str(original.msg).decode('utf-8'),
|
||||
response.content.decode('utf-8') if response.content else u''
|
||||
str(original.msg).decode(decode_from),
|
||||
response.content.decode(decode_from) if response.content else u''
|
||||
)
|
||||
|
||||
if args.prettify and sys.stdout.isatty():
|
||||
|
Loading…
Reference in New Issue
Block a user