问题简述
django为后端,通过前端wx.login()发来的code去微信服务器获取openid和session_key过程耗时太长(15s左右),但通过浏览器直接访问则速度较快。
开发环境
Ubuntu18.04 LTS, Django2.0.8, Python3.6.5
相关代码
下面是我建立的一个简单的获取openid的程序:
class WeChatApi():
def __init__(self, appid, secret):
self.appid = appid
self.secret = secret
def get_openid_and_session_key(self, code):
import time
start = time.perf_counter()
parmas = {
'appid': self.appid,
'secret': self.secret,
'js_code': code,
'grant_type': 'authorization_code'
}
url = 'https://api.weixin.qq.com/sns/jscode2session'
r = requests.get(url, params=parmas)
openid = r.json().get('openid', '')
end = time.perf_counter()
print('获取openid用时:', end-start, '秒')
return openid
结果
运行结果:程序正常返回,但是耗时太久,15s左右(已经反复测试)。使用postman测试时,用时相近也大约15s。但是直接把接口url粘贴到浏览器中,则很快就能得到结果。
疑惑与不解
这种现象产生的原因是什么?该如何解决?
添加回答
举报
0/150
提交
取消