我在stackoverflow上至少搜索了20次此问题。这是我的代码:
from flask import Flask, render_template, request, jsonify
import requests
@app.route("/test")
def test():
agent = {"User-Agent":'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.87 Safari/537.36'}
url = 'https://www.nseindia.com/api/quote-equity'
params = dict()
params["symbol"] = 'ESCORTS'
req = requests.get(url, params=params, headers=agent)
data = req.json()
return data
Heroku日志:
2020-09-14T15:38:41.158156+00:00 heroku[router]: at=error code=H12 desc="Request timeout" method=GET path="/test" host=insider-india.herokuapp.com request_id=07d0c887-62f4-4046-a042-add6bee716bf fwd="182.64.176.133" dyno=web.1 connect=1ms service=30002ms status=503 bytes=0 protocol=http
如果我改而将data=req.json()
和return req
注释掉,那就可以了。为什么heroku不支持requests.json()
?如果可以的话,如何使其起作用?
一切都与localhost(在我的机器上)完全正常,这似乎是Heroku问题。