You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

5sim.net API对接:首个while循环内if不触发、第二个while循环不运行排查

问题根因与修复

核心错误:状态字段拼写错误

5sim官方API返回的等待短信状态的正确枚举值是RECEIVED,你代码中全部写成了拼写错误的RECIEVED(字母e和i顺序颠倒),直接导致两个故障:

  • 第一个循环内的if判断永远匹配不到正确的状态值,无法触发
  • 第一个循环退出后,拉取到的正确RECEIVED状态和你写的RECIEVED匹配失败,第二个while循环直接不进入

额外逻辑优化

你第一个while循环的执行顺序不合理:先更新状态再休眠打印,会导致首次拉取就已经跳出PENDING状态时,多执行一次无意义的等待,调整执行顺序即可。


修复后代码

while 'PENDING' in sms['status']:
    print('Waiting for phone no. to get activated.')
    time.sleep(5)
    sms = get_status(headers, id)
    if sms['status'] == 'RECEIVED':
        print('Phone no. is activated.')
        break

time.sleep(2)
while 'RECEIVED' in sms['status']:
    print('Waiting for SMS code')
    time.sleep(5)
    sms = get_status(headers, id)
    if sms['status'] == 'FINISHED':
        break

内容的提问来源于stack exchange,提问作者Simon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 18:36:01