这个港股行情API经测试可用
免费注册:https://infoway.io/create-account
HTTP请求
import requests
api_url = 'https://data.infoway.io/stock/batch_kline/1/10/002594.SZ%2C00285.HK%2CTSLA.US'
# Token申请:www.infoway.io
# 设置请求头
headers = {
'User-Agent': 'Mozilla/5.0',
'Accept': 'application/json',
'apiKey': 'yourApikey'
}
# 发送GET请求
response = requests.get(api_url, headers=headers)
# 输出结果
print(f"HTTP code: {response.status_code}")
print(f"message: {response.text}")Websocket
import asyncio
import json
import websockets
WS_URL = "wss://data.infoway.io/ws?business=crypto&apikey=yourApikey"
# Token申请:www.infoway.io
async def connect_and_receive():
async with websockets.connect(WS_URL) as websocket:
# 发送初始消息
init_message = {
"code": 10000,
"trace": "01213e9d-90a0-426e-a380-ebed633cba7a",
"data": {"codes": "BTCUSDT"}
}
await websocket.send(json.dumps(init_message))
# 设置ping任务
async def send_ping():
while True:
await asyncio.sleep(30)
ping_message = {
"code": 10010,
"trace": "01213e9d-90a0-426e-a380-ebed633cba7a"
}
await websocket.send(json.dumps(ping_message))
# 启动ping任务协程
ping_task = asyncio.create_task(send_ping())
try:
# 持续接收消息
while True:
message = await websocket.recv()
print(f"Message received: {message}")
except websockets.exceptions.ConnectionClosedOK:
print("Connection closed normally")
finally:
# 取消ping任务
ping_task.cancel()
# 运行主函数
asyncio.run(connect_and_receive())港股K线返回示例:
{
"s": "00005.HK", //产品代码
"respList": [
{
"t": "1752825540", //秒时间戳(UTC+8)
"h": "98.250", //最高价
"o": "98.200", //开盘价
"l": "98.150", //最低价
"c": "98.150", //收盘价
"v": "44000", //成交量
"vw": "4320240.000", //成交额
"pc": "-0.05%", //涨跌幅
"pca": "-0.050" //涨跌额
}
]
}港股十档盘口返回示例:
{
"s": "00005.HK", //产品代码
"t": 1752826121043, //毫秒时间戳(UTC+8)
"a": [ //买盘
[
"98.150", //买一价
"98.200", //买二价
"98.250", //买三价
"98.300", //买四价
"98.350", //买五价
"98.400", //买六价
"98.450", //买七价
"98.500", //买八价
"98.550", //买九价
"98.600" //买十价
],
[
"13200", //买一量
"46400", //买二量
"58800", //买三量
"220800", //买四量
"221600", //买五量
"545200", //买六量
"162000", //买七量
"987600", //买八量
"230400", //买九量
"495200" //买十量
]
],
"b": [ //卖盘
[
"98.100", //卖一价
"98.050", //卖二价
"98.000", //卖三价
"97.950", //卖四价
"97.900", //卖五价
"97.850", //卖六价
"97.800", //卖七价
"97.750", //卖八价
"97.700", //卖九价
"97.650" //卖十价
],
[
"128800", //卖一量
"112000", //卖二量
"178000", //卖三量
"126400", //卖四量
"223600", //卖五量
"83200", //卖六量
"194800", //卖七量
"69600", //卖八量
"80400", //卖九量
"198000" //卖十量
]
]
}