Python 重定向到带有逗号的url

Python 重定向到带有逗号的url,python,redirect,flask,Python,Redirect,Flask,我正在尝试使用flask为该网站的URL编写重定向: 我使用的代码是: @app.route('/api/redirect', methods=['GET']) def redirect_link(): url = request.values.get('url') return redirect(url) 问题是目标网站没有将%2C解码为,,而是解码为-,并给出一个404未找到 这有什么办法吗 带卷曲的标题: curl -IL http://XXXXXX/api/redire

我正在尝试使用flask为该网站的URL编写重定向:

我使用的代码是:

@app.route('/api/redirect', methods=['GET'])
def redirect_link():
    url = request.values.get('url')
    return redirect(url)
问题是目标网站没有将
%2C
解码为
,而是解码为
-
,并给出一个
404未找到

这有什么办法吗

带卷曲的标题:

curl -IL http://XXXXXX/api/redirect?url=http%3A%2F%2Fnachbarschaft.immobilienscout24.de%2Fadressen%2Fbayern%2Cmuenchen%2Chaidhausen%2Fdienstleistung%2Ffriseur-blatter-hauptverwaltung%2C66512592.html
    HTTP/1.1 302 FOUND
    Server: gunicorn/18.0
    Date: Wed, 11 Dec 2013 12:58:26 GMT
    Connection: keep-alive
    Content-Type: text/html; charset=utf-8
    Content-Length: 489
    Location: http://nachbarschaft.immobilienscout24.de/adressen/bayern%2Cmuenchen%2Chaidhausen/dienstleistung/friseur-blatter-hauptverwaltung%2C66512592.html

    HTTP/1.1 301 Moved Permanently
    Date: Wed, 11 Dec 2013 12:58:27 GMT
    Location: /adressen/bayern-muenchen-haidhausen/dienstleistung/friseur-blatter-hauptverwaltung-66512592.html
    Vary: Accept-Encoding
    X-Frame-Options: SAMEORIGIN
    X-Content-Type-Options: no-sniff
    Cache-Control: max-age=604800, private, must-revalidate
    Content-Type: text/html; charset=UTF-8
    Set-Cookie: TS8a1db5=ea90e6be799ade80c5c84f3cca057558d12f3da1cca67c5a52a86172; Path=/
    Transfer-Encoding: chunked

    HTTP/1.1 404 Not Found
    Date: Wed, 11 Dec 2013 12:58:27 GMT
    Vary: Accept-Encoding
    X-Frame-Options: SAMEORIGIN
    X-Content-Type-Options: no-sniff
    Cache-Control: max-age=604800, private, must-revalidate
    Content-Type: text/html; charset=UTF-8
    Set-Cookie: TS8a1db5=61dcb89e16f8fe72a87d5e1f1faf7b0e82cbf7e476e5a3ff52a86172; Path=/
    Transfer-Encoding: chunked

会话中的第一个响应似乎是Flask服务器;它将您重定向到
URL
参数中传入的确切URL;逗号和全部。第二个
301
响应似乎来自不同的服务器,可能是
nachbarshaft.immobilienscout24.de
,它将您重定向到带有破折号的新URL。这不是Flask的做法。目标服务器重定向您的原因尚不清楚,但这不是Flask视图造成的问题。也许该服务器会根据其他浏览器标题做出不同的响应,例如
引用者
或缺少cookie。我同意。但由于我无法访问另一台服务器,我想知道是否有办法从Flask解决这个问题。据我所知,如果
位置
标题不是url编码的,它就会工作。啊,我想我知道你在这里的意思。服务器已断开,当它接收到路径中的
%2C
而不是
时,它会将您重定向到带有
-
的URL。