2

我创建了一个简单的 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 中正常读取子网址时,它工作得很好。为什么会发生这种情况,我该如何解决?

4

1 回答 1

5

尝试使用. _ @route像下面这样的东西应该可以工作:

@app.route('/<path:url>')
def getdata(url):
    ...
于 2012-12-17T19:47:17.700 回答