我有一个托管在Heroku上的Flask REST API和一个Heroku-Redis服务器。
当执行试图访问Redis服务器的代码时,我得到以下错误。
UnicodeError: encoding with 'idna' codec failed (UnicodeError: label empty or too long)
似乎导致这个错误的代码是,
revoked_store.set(access_jti, 'false', ACCESS_EXPIRES * 1.2)
revoked_store.set(refresh_jti, 'false', REFRESH_EXPIRES * 1.2)连接设置如下:
revoked_store = redis.StrictRedis(host=os.environ.get('REDIS_URL'), port=6379, db=0, decode_responses=True)从其他各种帖子来看,我认为这个错误是由Redis URL太长(>64个字符)引起的。See here.
我不确定如何解决这一努力,所以任何帮助都将不胜感激。
如果您需要更多信息,请让我知道。
谢谢。
发布于 2021-04-12 21:11:39
我也有同样的问题,然后是I just read the documentation on Heroku Redis。
作为参考,我做了以下工作,它解决了我的问题:
import os
from urllib.parse import urlparse
import redis
url = urlparse(os.environ.get("REDIS_URL"))
r = redis.Redis(host=url.hostname, port=url.port, username=url.username, password=url.password, ssl=True, ssl_cert_reqs=None)https://stackoverflow.com/questions/66198330
复制相似问题