首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在使用Heroku、Redis和Flask时使用UnicodeError 'idna‘编码

在使用Heroku、Redis和Flask时使用UnicodeError 'idna‘编码
EN

Stack Overflow用户
提问于 2021-02-15 01:49:39
回答 1查看 266关注 0票数 0

我有一个托管在Heroku上的Flask REST API和一个Heroku-Redis服务器。

当执行试图访问Redis服务器的代码时,我得到以下错误。

UnicodeError: encoding with 'idna' codec failed (UnicodeError: label empty or too long)

似乎导致这个错误的代码是,

代码语言:javascript
复制
revoked_store.set(access_jti, 'false', ACCESS_EXPIRES * 1.2)
revoked_store.set(refresh_jti, 'false', REFRESH_EXPIRES * 1.2)

连接设置如下:

代码语言:javascript
复制
revoked_store = redis.StrictRedis(host=os.environ.get('REDIS_URL'), port=6379, db=0, decode_responses=True)

从其他各种帖子来看,我认为这个错误是由Redis URL太长(>64个字符)引起的。See here.

我不确定如何解决这一努力,所以任何帮助都将不胜感激。

如果您需要更多信息,请让我知道。

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2021-04-12 21:11:39

我也有同样的问题,然后是I just read the documentation on Heroku Redis

作为参考,我做了以下工作,它解决了我的问题:

代码语言:javascript
复制
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)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66198330

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档