[問題] telegram反應非常慢...
我寫的程式如下
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才會有這問題....
--
sent from my IBM 5100
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.127.163.139 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1654410452.A.E63.html
※ 編輯: storypp (59.127.163.139 臺灣), 06/05/2022 15:54:19
※ 編輯: storypp (59.127.163.139 臺灣), 06/05/2022 15:55:05
推
06/05 19:45,
3年前
, 1F
06/05 19:45, 1F
→
06/05 19:45,
3年前
, 2F
06/05 19:45, 2F
是期待值沒錯,看起來就像是收到資料可是一直沒斷線,
因為一直沒斷線所以程式就沒辦法把值傳下去,
用了timeout後就斷線可以繼續走下去,
只是很疑惑,為什麼會發生資料傳完卻沒斷線繼續執行下去,
(大約等5-10分鐘還是會把正確值print出來)
我用其他電腦執行程式倒是沒這問題...
※ 編輯: storypp (59.127.163.139 臺灣), 06/05/2022 20:45:21
→
06/06 09:22,
3年前
, 3F
06/06 09:22, 3F
我除了get也有用post去試,結果都是要等將近10分鐘才會有動作...
※ 編輯: storypp (59.127.163.139 臺灣), 06/07/2022 02:22:54
→
06/07 23:09,
3年前
, 4F
06/07 23:09, 4F
似乎不是dns的問題,
我用java寫同樣的程式在同一台電腦速度是正常的..
有點懷疑是lib版本問題..
同樣的code在其他電腦跑是ok的,
不過我不知道怎麼變更python與lib的版本..
能想到的差異只有不同電腦有不同的版本..
正常的執行的電腦是3.8.2
有問題的電腦是3.9.5
→
06/09 06:43,
3年前
, 5F
06/09 06:43, 5F
重開機也沒用..
※ 編輯: storypp (59.127.163.139 臺灣), 06/11/2022 15:24:21
→
06/11 15:50, , 6F
06/11 15:50, 6F
推
06/12 07:19, , 7F
06/12 07:19, 7F
Python 近期熱門文章
PTT數位生活區 即時熱門文章