Flask app无法解析郊区

时间:2012-12-17 19:39:51

标签: python url flask

我创建了一个简单的heroku应用程序,它以url作为参数,读取url数据并在浏览器中显示它。这是代码:

import os
from flask import Flask
import urllib2, urlparse

app = Flask(__name__)

@app.route('/<url>')
def getdata(url):
    url.replace('www.','')
    if url.count('http') == 0:
        url = 'http://'+url
    u = urlparse.urlparse(url)
    nurl = u.geturl()
    response = urllib2.urlopen(nurl).read()
    return response

if __name__ == '__main__':
    port = int(os.environ.get('PORT', 5000))
    app.run(host='0.0.0.0', port=port)

当传递像google.com这样的网址时,它可以正常工作。但是当传递类似google.com/images的东西(我知道url返回503)时,它会抛出404错误。当我尝试在我的python shell中正常阅读郊区时它工作得很好。 为什么会发生这种情况?如何解决?

1 个答案:

答案 0 :(得分:5)

尝试使用path option in the @route。以下内容应该有效:

@app.route('/<path:url>')
def getdata(url):
    ...