From 14079ea2b0ac55273171bc9c2120c883d58d4d2f Mon Sep 17 00:00:00 2001 From: Thomas Pointhuber Date: Sun, 1 Feb 2015 10:18:32 +0100 Subject: [PATCH] [fix] codec can't encode character inside image_proxify --- searx/webapp.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/searx/webapp.py b/searx/webapp.py index c4eb7d73..d92302b6 100644 --- a/searx/webapp.py +++ b/searx/webapp.py @@ -215,10 +215,12 @@ def image_proxify(url): if url.startswith('//'): url = 'https:' + url + url = url.encode('utf-8') + if not settings['server'].get('image_proxy') and not request.cookies.get('image_proxy'): return url - h = hashlib.sha256(url.encode('utf-8') + settings['server']['secret_key'].encode('utf-8')).hexdigest() + h = hashlib.sha256(url + settings['server']['secret_key'].encode('utf-8')).hexdigest() return '{0}?{1}'.format(url_for('image_proxy'), urlencode(dict(url=url, h=h))) @@ -553,12 +555,12 @@ def preferences(): @app.route('/image_proxy', methods=['GET']) def image_proxy(): - url = request.args.get('url') + url = request.args.get('url').encode('utf-8') if not url: return '', 400 - h = hashlib.sha256(url.encode('utf-8') + settings['server']['secret_key'].encode('utf-8')).hexdigest() + h = hashlib.sha256(url + settings['server']['secret_key'].encode('utf-8')).hexdigest() if h != request.args.get('h'): return '', 400