【问题标题】:iOS Push: Can't find problematic tokeniOS Push:找不到有问题的令牌
【发布时间】:2015-10-19 19:43:18
【问题描述】:

我在发送推送时遇到问题。我正在使用 python 和 apns-client 库来发送推送。我的令牌存储在 mysql 上,自最近几周以来,我在发送推送时一直看到此异常:

ERROR: Non-hexadecimal digit found

这让我认为 db 上有一个格式错误的令牌。现在,我如何检查哪个令牌是错误的?

我在我的令牌上尝试了以下内容(我在互联网上的某个地方读到过):

for token in tokens:
    try:
        token.decode('hex')
    except:
        print token

但根本没有抛出异常。

有什么想法吗?提前致谢

【问题讨论】:

  • 这不会抛出异常;它打印有问题的令牌并继续。那是你的问题吗?如果您也需要例外,请尝试在 print 语句后添加“raise”。另请注意,您的“except”行对于 Python BKM 来说太笼统了。
  • 是的,这正是我想要的,打印有问题的标记。而且我知道 except 太笼统了,但我想捕获所有异常,因为我写的错误来自 apns-client 库,所以我不知道到底是什么类型的异常抛出

标签: python ios apple-push-notifications token


【解决方案1】:

那么让我们试试这个来结束这个问题:

for token in tokens:
    try:
        token.decode('hex')
    except Exception as e:
        print token, type(e)
        raise e

这能得到你想要的一切吗?

【讨论】:

  • 谢谢,但这就是问题所在,token.decode('hex') 工作正常,从不抛出任何异常。我的问题是我不知道如何正确检查令牌是否具有有效格式,这就是为什么我的初始代码从不打印任何内容。
猜你喜欢
  • 1970-01-01
  • 2021-02-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多