作者:
storypp (隨風而逝的是一份真)
2022-06-05 14:27:28我寫的程式如下
import requests
import urllib.parse
def sendMessage( botID, chatID, message):
str="https://api.telegram.org/bot"+botID\
+"/sendMessage?chat_id="+chatID+"&text="\
+urllib.parse.quote_plus(message)
response= requests.get(str)
try:
js=response.json()
except:
js=dict()
js["error"]=response.text
return js
meID="123456"
botID="oooo:xxxx"
js=sendMessage(botID,meID,"test")
print(js)
程式可以發訊,可是反應非常慢
大概要5-10分鐘才會發出訊息
記得以前沒這問題,不曉得是有什麼地方需要改良嗎?
自問自答
發現是網路的問題,不過不確定發生原因,
在遠端主機測試正常
自己的電腦得把requests加上timeout也可以運作,
response= requests.get(str, timeout=1)
這樣就可以正確跑了,
不過這樣一來反應就變慢了,
不知道有人可以抓出原因嗎?
同樣的程式,去抓其他網址都沒問題,
只有telegram的api才會有這問題....
作者: s06yji3 (阿南) 2022-06-05 19:45:00
印象中requests 預設是沒有timeout的。你加了timeout之後的output是期待值還是ERROR message?