【发布时间】:2014-11-19 09:47:50
【问题描述】:
我正在使用 Python 开发一个简单的 API - Bottle。
这就是我使用路由启用 API HTTP 请求的方式:
@route('/expand')
def expand(url = ""):
url = request.query.get('url', '')
if url == "":
return {"success" : False,
"start_url" : url,
"final_url" : "",
"url_list" : []
}
url_list = expandURL(url)
return {"success" : True,
"start_url" : url,
"final_url" : url_list[-1],
"url_list" : url_list
}
这是我得到的错误:
2014-09-24 18:50:24,930 :Traceback (most recent call last):
2014-09-24 18:50:24,933 : File "/usr/local/lib/python2.7/dist-packages/bottle.py", line 764, in _handle
2014-09-24 18:50:24,933 : return route.call(**args)
2014-09-24 18:50:24,933 : File "/usr/local/lib/python2.7/dist-packages/bottle.py", line 1575, in wrapper
2014-09-24 18:50:24,933 : rv = callback(*a, **ka)
2014-09-24 18:50:24,933 : File "/home/sahildua2305/mysite/bottle_app.py", line 41, in expand
2014-09-24 18:50:24,933 : url_list = expandURL(url)
2014-09-24 18:50:24,933 : File "/home/sahildua2305/mysite/bottle_app.py", line 9, in expandURL
2014-09-24 18:50:24,933 : return unshorten_me(url, urls)
2014-09-24 18:50:24,933 : File "/home/sahildua2305/mysite/bottle_app.py", line 14, in unshorten_me
2014-09-24 18:50:24,933 : h.request('HEAD', parsed.path)
2014-09-24 18:50:24,933 : File "/usr/lib/python2.7/httplib.py", line 973, in request
2014-09-24 18:50:24,933 : self._send_request(method, url, body, headers)
2014-09-24 18:50:24,934 : File "/usr/lib/python2.7/httplib.py", line 1007, in _send_request
2014-09-24 18:50:24,934 : self.endheaders(body)
2014-09-24 18:50:24,934 : File "/usr/lib/python2.7/httplib.py", line 969, in endheaders
2014-09-24 18:50:24,934 : self._send_output(message_body)
2014-09-24 18:50:24,934 : File "/usr/lib/python2.7/httplib.py", line 829, in _send_output
2014-09-24 18:50:24,934 : self.send(msg)
2014-09-24 18:50:24,934 : File "/usr/lib/python2.7/httplib.py", line 791, in send
2014-09-24 18:50:24,934 : self.connect()
2014-09-24 18:50:24,934 : File "/usr/lib/python2.7/httplib.py", line 772, in connect
2014-09-24 18:50:24,934 : self.timeout, self.source_address)
2014-09-24 18:50:24,934 : File "/usr/lib/python2.7/socket.py", line 571, in create_connection
2014-09-24 18:50:24,934 : raise err
2014-09-24 18:50:24,934 :error: [Errno 111] Connection refused
这就是我通过将params={'url':'http://tuq.in/sahil'} 发送到链接 [https://sahildua2305.pythonanywhere.com/expand] 来测试调用的方式,它给出了 500 内部错误。不带任何参数发送相同的请求不会出错!
请帮助我纠正错误.. 提前致谢。
【问题讨论】:
标签: python api url url-routing bottle