我有一个python应用程序,它通过http提取xml数据。我想在Heroku上运行这个应用程序。如果我只是返回“hello world”而不试图拉动xml,那么应用程序在Heroku上运行正常。当我在本地运行这个应用程序时(通过使用'foreman'命令,或直接通过python),它运行完全正常,并且“response.status”是200,正如预期的那样。如果我部署到Heroku,它可以正常运行,但我得到一个response.status:500,因此无法检索XML数据。
可能导致此问题的原因是什么?
以下是相关功能。
修改: 我尝试过其他具有相同结果的URL:我在本地运行时获得HTTP状态200,但在Heroku上运行时获得500状态
def fetchBoBXml():
# Fetch XML info from BoB
conn = httplib.HTTPConnection(BOB_DOMAIN, BOB_PORT)
conn.request("GET", BOB_URL)
response = conn.getresponse()
status = response.status
if status != 200:
print "BOB response status %s" % status
raise Exception("BoB HTTP response status: %s" % status)
data = response.read()
conn.close()
return data