Forex外匯現貨,請求訪問API即時行情接口,Python Source Code
在網絡編程中,有時候我們需要不斷地向服務器發送請求,獲取實時的數據。例如,如果我們想要監測外匯市場的變化,我們就需要定期從一個網站獲取最新的匯率信息。但是,網絡環境並不總是穩定的,有可能會出現斷線的情況,導致我們的程序停止運行。那麼,我們如何實現斷線重連的功能呢?
My email: twtpcc@gmail.com
在這篇blog中,我將介紹一種簡單而實用的方法,使用Python的requests包和定時器來實現斷線重連。requests包是一個非常流行的HTTP庫,可以方便地發送各種類型的HTTP請求,並處理返回的數據。定時器是一種可以在指定的時間間隔執行某個函數的工具,可以用來實現定時任務。
首先,我們需要導入requests包,使用import語句:
import requests # 導入requests包
然後,我們需要定義一個函數,用來發送請求並打印返回的數據。在這個例子中,我們使用get方法向一個網站發送請求,該網站提供了外匯市場的實時數據,並返回一個JSON格式的字符串。我們使用requests.get函數來發送請求,並使用text屬性來獲取返回的字符串。然後,我們使用print函數來打印字符串,以便觀察數據的變化。我們將這個函數命名為timer,代碼如下:
def timer():
url = 'http://www.twtpcc.com/wsDB_API2/stock.php?market=FX&num=300&u=twtpcc.com&p=twtpcc@gmail.com'
strhtml = requests.get(url) # Get方式獲取網頁數據
print(strhtml.text)
接下來,我們需要使用定時器來定期執行這個函數,以便不斷地獲取最新的數據。在這個例子中,我們使用time模塊中的sleep函數來實現定時器的功能。sleep函數可以讓程序暫停一定的時間,單位是秒。我們將這個函數放在一個無限循環中,並在每次執行完timer函數後,使用sleep函數讓程序暫停0.3秒,這樣就可以每隔0.3秒執行一次timer函數。代碼如下:
import time
def timer():
# 省略前面的代碼
print(strhtml.text)
while True:
timer()
time.sleep(0.3)
這樣,我們就完成了使用requests包和定時器實現斷線重連的功能。我們可以運行這個程序,並觀察控制台的輸出,看到數據的變化。如果網絡出現斷線的情況,我們可以使用一個簡單的方法來實現重連。我們只需要在timer函數中加入一個判斷,例如,如果2分鐘內沒有從服務器端收到任何數據,則退出程序。然後,我們可以在win的批處理或linux的shell程序中做一個無限循環(或萬次循環)中啟動程序。這樣,當程序退出時,批處理或shell會自動再次啟動程序。這樣,就可以簡單、可靠地實現斷線自動重連,且可靠性高。代碼如下:
import time
import sys
def timer():
# 省略前面的代碼
print(strhtml.text)
# 如果2分鐘內沒有收到數據,則退出程序
if time.time() - last_time > 120:
sys.exit()
last_time = time.time() # 記錄上一次收到數據的時間
while True:
try:
timer()
last_time = time.time() # 更新上一次收到數據的時間
except:
pass # 忽略異常
time.sleep(0.3) # 服務器端有0.3秒 或0.05秒的間隙限制(費用不同)
==================================
Forex demo data as follows:
2023-11-30 16:47:14,FXAUDCAD,澳幣加幣,0.89885,0,0,0,0.89885,0.89885,0.90252,0.89825,0.90008,00, 0,0,0,0,0,0,0,0.90037,0,0,0,0,0,0,0,0,0,0.136842
2023-11-30 16:47:14,FXAUDCHF,澳元瑞郎,0.57753,0,0,0,0.57753,0.57753,0.5802,0.57729,0.57866,0,06,05786,00,078,0,00,0,0,00,00,00,05 ,0,0,0,0,0.57896,0,0,0,0,0,0,0,0,0,0.195658
2023-11-30 16:47:14,FXAUDJPY,澳元日圓,97.408,0,0,0,97.408,97.408,97.768,97.225,97.308,0,0,97.308,0,0,0,0,0,97. ,0,0,0,0,97.332,0,0,0,0,0,0,0,0,0,-0.102659
2023-11-30 16:47:14,FXAUDNZD,澳元紐元,1.07369,0,0,0,1.07369,1.07369,1.07657,1.07297,1.07421,0,0,1. ,0,0,0,0,1.07458,0,0,0,0,0,0,0,0,0,0.0484303
2023-11-30 16:47:14,FXAUDUSD,澳元美元,0.66158,0,0,0,0.66158,0.66158,0.665,0.66135,0.66169,0,0,006169,0,0,0,0,0,0,0,09,0,0,0 0,0,0,0,0.66177,0,0,0,0,0,0,0,0,0,0.0166224
2023-11-30 16:47:14,FXBTOL20,布蘭特原油,82.554,0,0,0,82.554,82.554,83.766,82.364,83.175,0,0,83.175,0,83.0,0,0,83.175,0,83. 0,0,0,0,0,83.235,0,0,0,0,0,0,0,0,0,0.752238
2023-11-30 16:47:14,FXCADCHF,加幣瑞郎,0.64257,0,0,0,0.64257,0.64257,0.64309,0.64171,0.64282,020,0. 0,0,0,0,0,0.64312,0,0,0,0,0,0,0,0,0,0.0389034
2023-11-30 16:47:14,FXCADJPY,108.363,108.052,108.08.341,108.363,108.052,108.09,0,0,008. 0,0,0,108.121,0,0,0,0,0,0,0,0,0,-0.231682
2023-11-30 16:47:15,FXCHFJPY,瑞郎日圓,168.256,0,0,0,168.256,168.256,168.636,168.099,168.118,0,01,168. 0,0,0,168.155,0,0,0,0,0,0,0,0,0,-0.0820182
2023-11-30 16:47:14,FXEURAUD,歐元澳元,1.65724,0,0,0,1.65724,1.65724,1.65851,1.64951,1.65048,0,0,1.650,00,0,0,00,0,0,00,04 0,0,0,0,1.6508,0,0,0,0,0,0,0,0,0,-0.407907
2023-11-30 16:47:14,FXEURCAD,歐元加幣,1.48962,0,0,0,1.48962,1.48962,1.49224,1.48526,1.48576,0,0,1.485,00,485,00,04 ,0,0,0,0,1.48605,0,0,0,0,0,0,0,0,0,-0.259126
2023-11-30 16:47:14,FXEURCHF,歐元瑞郎,0.95844,0,0,0,0.95844,0.95844,0.95889,0.95506,0.95525,0,0,095,50,095,55,0,55,50,50, ,0,0,0,0,0.95555,0,0,0,0,0,0,0,0,0,-0.332831
2023-11-30 16:47:15,FXEURGBP,歐元英鎊,0.86394,0,0,0,0.86394,0.86394,0.86478,0.86169,0.86216,0,0,0. 0,0,0,0,0.86232,0,0,0,0,0,0,0,0,0,-0.20603
2023-11-30 16:47:14,FXEURJPY,歐元日圓,161.414,0,0,0,161.414,161.414,161.524,160.585,160.624,0,0,160. ,0,0,160.644,0,0,0,0,0,0,0,0,0,-0.48943
2023-11-30 16:47:15,FXEURNZD,歐元紐元,1.77948,0,0,0,1.77948,1.77948,1.78323,1.77226,1.77318,0,0,1.7738,0. ,0,0,0,0,1.77361,0,0,0,0,0,0,0,0,0,-0.354034
2023-11-30 16:47:14,FXEURUSD,歐元美元,1.09689,0,0,0,1.09689,1.09689,1.09836,1.09218,1.09222,0,02,009,092,09,09,20,092,0,22,09,092, 0,0,0,0,1.0923,0,0,0,0,0,0,0,0,0,-0.425751
2023-11-30 16:47:14,FXGBPCHF,英鎊瑞郎,1.10887,0,0,0,1.10887,1.10887,1.10941,1.1072,1.10787,0,0787,0,07,010,78,00,0 ,0,0,0,0,1.10818,0,0,0,0,0,0,0,0,0,-0.0901861
2023-11-30 16:47:14,FXGBPJPY,英鎊日圓,186.806,0,0,0,186.806,186.806,186.913,186.258,186.284,020,086. ,0,0,186.319,0,0,0,0,0,0,0,0,0,-0.279436
2023-11-30 16:47:14,FXGBPUSD,英鎊美元,1.26939,0,0,0,1.26939,1.26939,1.27105,1.26662,1.26673,0,0,1.26673,0,0,0,0,0,0,0,0 0,0,0,0,1.26683,0,0,0,0,0,0,0,0,0,-0.209552
2023-11-30 16:47:14,FXNYOL20,紐約原油,77.729,0,0,0,77.729,77.729,78.765,77.435,78.165,0,0,78.165,0,0,0,0,0,78.165,0,0, 0,0,0,0,78.205,0,0,0,0,0,0,0,0,0,0.560929
2023-11-30 16:47:14,FXNZDJPY,紐元日圓,90.585,0,0,0,90.585,90.585,90.905,90.422,90.563,0,0,900,0,0,900,0,0, 0,0,0,0,0,90.6,0,0,0,0,0,0,0,0,0,-0.0242817
2023-11-30 16:47:14,FXNZDUSD,紐元美元,0.61545,0,0,0,0.61545,0.61545,0.61816,0.61505,0.61584,0,00,61584,0,6158,0,00, ,0,0,0,0,0.61601,0,0,0,0,0,0,0,0,0,0.0633672
2023-11-27 06:00:05,FXSGDJPY,新元日圓,111.449,0,0,0,111.449,111.449,111.488,111.449,111.487,0,0,11. 0,0,0,111.649,0,0,0,0,0,0,0,0,0,0.0340981
2023-11-30 16:47:14,FXUSDCAD,美元加幣,1.35878,0,0,0,1.35878,1.35878,1.36043,1.35664,1.36036,0,0,1.366,00,36,00,0,36,00,0,36,00,0,36,00,0,36,00,0,36,00,0,36,00,0,36,00,0,36,00,0,36,00,0,36,00,0,36,00,0,36,00,0,36,00,0,36,00,0,36,00,0,36,00,0,36,00,0,366,00,036,00,0,366,00, ,0,0,0,0,1.36052,0,0,0,0,0,0,0,0,0,0.116281
2023-11-30 16:47:14,FXUSDCHF,美元瑞郎,0.87379,0,0,0,0.87379,0.87379,0.87462,0.87162,0.87462,00,0.874,00,74,00,0,00, ,0,0,0,0,0.87478,0,0,0,0,0,0,0,0,0,0.0949879
2023-11-30 16:47:14,FXUSDCNH,離岸人民幣,7.14166,0,0,0,7.14166,7.14166,7.1452,7.12247,7.14032,0,0,7.145,0,0,0,040,040,04 ,0,0,0,0,7.14096,0,0,0,0,0,0,0,0,0,-0.0187686
2019-08-12 22:27:15,FXUSDDKK,美元丹麥,6.65815,0,0,0,6.65815,6.65815,6.68601,6.65087,6.65499,0,096.65,09,0,049,0,09,0,049,09,0,049,09,0,049,09,0,049,09,0,004 0,0,0,0,6.656,0,0,0,0,0,0,0,0,0,-0.0474606
2019-08-12 22:27:15,FXUSDHKD,美元港幣,7.84119,0,0,0,7.84119,7.84119,7.84598,7.83821,7.84587,0,0,7. 0,0,0,0,7.84698,0,0,0,0,0,0,0,0,0,0.0596868
2023-11-30 16:47:14,FXUSDJPY,美元日圓,147.235,0,0,0,147.235,147.235,147.261,146.838,147.063,00,0,07. ,0,0,147.075,0,0,0,0,0,0,0,0,0,-0.116818
2023-11-30 16:47:14,FXUSDNOK,美元挪威,10.6313,0,0,0,10.6313,10.6313,10.702,10.6311,10.6985,0,0,10.6985,0,0,0,0,0,0,0, 0,0,0,0,10.702,0,0,0,0,0,0,0,0,0,0.631815
2023-11-30 16:47:14,FXUSDSEK,美元瑞典,10.3365,0,0,0,10.3365,10.3365,10.4356,10.3364,10.431,0,0,10.431,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,10.4344,0,0,0,0,0,0,0,0,0,0.914436
2023-11-27 06:00:05,FXUSDSGD,美元新元,1.33882,0,0,0,1.33882,1.33882,1.33888,1.33865,1.33884,0,0,1.33884,0,3338,0,0, ,0,0,0,0,1.34044,0,0,0,0,0,0,0,0,0,0.00149588
2023-11-30 16:47:14,FXXAGUSD,白銀美元,24.99,0,0,0,24.99,24.99,25.104,24.917,24.968,0,0,24.968,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,25.002,0,0,0,0,0,0,0,0,0,-0.0880326
2023-11-30 16:47:14,FXXAUUSD,黃金美元,2044.34,0,0,0,2044.34,2044.34,2047.05,2040.99,2041.2,0,0,2041. 0,0,0,0,2041.5,0,0,0,0,0,0,0,0,0,-0.153596
Contact email: twtpcc@gmail.com
留言
張貼留言