我正试图从头开始建立一个cors代理。这是我的代码
@app.route('/api/v1/cors/url=<name>&method=<method>', methods=['GET'])
def api_cors(name, method):
if method == 'http' or method == 'https':
r = request.urlopen(method+"://"+name)
return r.read()
else:
return "method not set!"
到目前为止工作正常,但我有一个问题,当我通过“url = google.com&amp; method = https”它工作正常,但当我传递的内容如“url = google.com / images / image。 jpg&amp; method = https“the”/“将被视为新目录
无论如何都要在烧瓶中躲避它?
答案 0 :(得分:4)
不要尝试将值作为路径本身的一部分传递。将其作为查询参数传递。
@app.route('/api/v1/cors/')
def api_cors():
url = request.args.get('url')
并将其称为"/api/v1/cors/?url=https://google.com/images/image.jpg"
。
答案 1 :(得分:2)
如果您想使用现在使用的相同网址方案,请将路由装饰器更改为此方案,它将起作用。
@app.route('/api/v1/cors/url=<path:name>&method=<method>', methods=['GET'])