浏览代码

Hotfix spaces in URL in GET requests

Requests with URLs which included spaces were throwing Internal server errors because unquote_plus() was called before urlopen().
Fixed the most common occurence.
vkosnar 4 年之前
父节点
当前提交
5a9a690299
共有 1 个文件被更改,包括 5 次插入1 次删除
  1. 5 1
      src/rembg/cmd/server.py

+ 5 - 1
src/rembg/cmd/server.py

@@ -27,8 +27,12 @@ def index():
         url = request.args.get("url", type=str)
         url = request.args.get("url", type=str)
         if url is None:
         if url is None:
             return {"error": "missing query param 'url'"}, 400
             return {"error": "missing query param 'url'"}, 400
+        
+        url = unquote_plus(url)
+        if " " in url:
+            url = quote(url, safe="/:")
 
 
-        file_content = urlopen(unquote_plus(url)).read()
+        file_content = urlopen(url).read()
 
 
     if file_content == "":
     if file_content == "":
         return {"error": "File content is empty"}, 400
         return {"error": "File content is empty"}, 400