小编use*_*064的帖子

python请求 - 使用“idna”编解码器编码失败(UnicodeError:标签为空或太长)错误

我一直在使用请求包的 api 调用突然返回以下错误:“UnicodeError: encoding with 'idna' codec failed (UnicodeError: label empty or too long)”

我不知道如何解决这个问题。我的代码如下所示,在此示例中伪造了某些凭据:

api_key= '123abc'
password = '12345' #password that only idiots use on their luggage
shop_name = 'myshopname'
shop_url = 'https://%s:%s@%s.myecommercesite.com/admin/customers/1234567.json' %(api_key, password, shop_name)

a = requests.get(shop_url)
Run Code Online (Sandbox Code Playgroud)

当我打印 shop_url 并将其粘贴到我的浏览器时,我得到了我期望在 json 中返回的数据。但是当我运行这个请求时,我收到了 idna 编解码器错误。

这曾经可以正常工作,但显然某处发生了变化,我不确定是电子商务网站还是请求或导致此问题的原因。

有没有人遇到过这种类型的错误或知道如何修复它?

如果我打印网址,它看起来像:https://123abc:12345@myshopname.myecommercesite.com/admin/customers/1234567.json

edit2:忘记在我的代码示例中包含 %(api_key, password, shop_name) 编辑:下面的整个错误消息:

UnicodeError                              Traceback (most recent call last)
~/anaconda3/lib/python3.6/encodings/idna.py in encode(self, input, errors)
    164                 if not (0 < len(label) < 64):
--> 165                     raise UnicodeError("label empty or …
Run Code Online (Sandbox Code Playgroud)

python api request shopify

8
推荐指数
1
解决办法
2万
查看次数

如何在Redshift(或替代方法)中使用正则表达式捕获组

我在redshift列中有一个字段,如下所示:

abcd1234df-TEXT_I-WANT

前10位数字中的字符和数字可以是字母或数字。

如果我使用捕获组正则表达式,则会使用写得不好的表达式,如(\w\w\w\w\w\w\w\w\w\w\W)(.*)grap 2nd group

但是我在redshift中实现时遇到了麻烦,所以不确定如何在第一个连字符后仅获取内容

regex sql amazon-redshift

4
推荐指数
2
解决办法
1512
查看次数

标签 统计

amazon-redshift ×1

api ×1

python ×1

regex ×1

request ×1

shopify ×1

sql ×1