python - Python:TypeError:inet_aton() 参数 1 必须是 str,而不是 None
问题描述
我正在使用手机游戏 API 和 Telegram Bot。当我放入一个固定的 Clantag 时它起作用了,但现在我想让用户编写一个标签并将其添加到链接中。然后应用程序应该搜索氏族并获得正确的统计数据。一切正常,但我现在收到此消息,找不到我的错误。如果您能提供帮助会很高兴!
def main():
last_update_id = None
message = ""
while True:
updates = get_updates(last_update_id)
if len(updates["result"]) > 0:
last_update_id = get_last_update_id(updates) + 1
message = get_last_update_Message(updates)
clan_stats(updates, message)
def get_last_update_Message(updates):
message = ""
for update in updates["result"]:
message = update["message"]
return message["text"]
def clan_stats(updates, ID):
#https://api.royaleapi.com/clan/1RLU78YU
Link = '"https://api.royaleapi.com/clan/' + ID + '"'
r=requests.get(Link, headers={"Accept":"application/json",
"authorization":"Bearer TOKENHERE"})
clan = r.json()
完整追溯:
Traceback (most recent call last):
File "/home/Lee63225/clashroyaleclanbot.py", line 188, in <module>
main()
File "/home/Lee63225/clashroyaleclanbot.py", line 184, in main
clan_stats(updates, message)
File "/home/Lee63225/clashroyaleclanbot.py", line 80, in clan_stats
"authorization":"Bearer TOKENHERE"})
File "/usr/lib/python3.7/site-packages/requests/api.py", line 72, in get
return request('get', url, params=params, **kwargs)
File "/usr/lib/python3.7/site-packages/requests/api.py", line 58, in request
return session.request(method=method, url=url, **kwargs)
File "/usr/lib/python3.7/site-packages/requests/sessions.py", line 503, in request
prep.url, proxies, stream, verify, cert
File "/usr/lib/python3.7/site-packages/requests/sessions.py", line 676, in merge_environment_settings
env_proxies = get_environ_proxies(url, no_proxy=no_proxy)
File "/usr/lib/python3.7/site-packages/requests/utils.py", line 760, in get_environ_proxies
if should_bypass_proxies(url, no_proxy=no_proxy):
File "/usr/lib/python3.7/site-packages/requests/utils.py", line 716, in should_bypass_proxies
if is_ipv4_address(parsed.hostname):
File "/usr/lib/python3.7/site-packages/requests/utils.py", line 640, in is_ipv4_address
socket.inet_aton(string_ip)
TypeError: inet_aton() argument 1 must be str, not None
谢谢!
解决方案
我认为应该是
Link = 'https://api.royaleapi.com/clan/' + ID
你的尝试有一些环境"
。
但现在我看,该函数被称为clan_stats(update,message)
. 那个“消息”应该是一个 clantag,确保它是(因为现在它来自get_last_update_Message()
,并且看起来非常可疑。
推荐阅读
- html - Bootstrap v5:列元素在较小的屏幕上变得更远?
- javascript - 如何使用:JavaScript Canvas 中多个对象的 globalCompositeOperation
- python - 在python中遍历数组元素的更优雅和简单的方法?
- laravel - 如何添加 saml:创建 LightSAML IDP 响应时的 XML 前缀
- python - 检查 10 个 GCS 存储桶中的文件
- c# - 如何用换行符分隔短信?
- python - Django 要求我一次又一次地迁移服务器上的待处理迁移?
- javascript - 是否可以在 JS 中获取一个对象,为属性赋值,然后将其发送到一行中的另一个函数?
- arrays - C语言如何统计登录次数
- javascript - 如何使用 AJAX 和 vanilla Javascript 将 JavaScript 变量传递给 PHP?