Python 重定向到带有逗号的url
我正在尝试使用flask为该网站的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
@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。