所以我有这段代码。每当我运行代码时,它到达第3行时,大约需要20秒钟来完成get请求。没有理由要花费这么长时间,而且每次都持续花费很长时间。有什么帮助吗?
def get_balance(addr):
try:
r = requests.get("http://blockexplorer.com/api/addr/"+addr+"/balance")
return int(r.text)/10000000
except:
return "e"
最佳答案
大多数时候对我有用。
>>> def get_balance(addr):
... try:
... start = time.time()
... r = requests.get("http://blockexplorer.com/api/addr/"+addr+"/balance")
... end = time.time()
... print(f"took {end - start} seconds")
... print(r.text, "satoshis")
... return int(r.text)/100000000
... except:
... return "e"
...
>>>
>>> get_balance("1HB5XMLmzFVj8ALj6mfBsbifRoD4miY36v")
took 0.7754228115081787 seconds
151881086 satoshis
15.1881086
但是,如果我连续执行了多次,偶尔会收到错误消息“比特币JSON-RPC:工作队列深度超出。代码:429”
像我一样打印r.text,这可能会向您显示来自Block Explorer的错误消息。可能是他们开始限制您的速率。
关于python - Python请求lib花费的时间比执行get请求的时间更长,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48030675/