第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

如何使用 PHP 接入港股實時行情接口(WebSocket 實時K線+盤口)

標簽:
PHP 資訊 API

在构建金融类网站或量化交易系统时,实时行情数据是不可或缺的核心组件之一。尤其是对港股市场感兴趣的开发者,更需要一个可靠且实时的行情源。本文将介绍如何使用 PHP 接入
的港股行情接口,并实现实时接收 1 分钟 K 线数据。

准备工作

首先,确保你的开发环境中安装了Composer。我们将使用 PHP 的 WebSocket 客户端库textalk/websocket。

composer require textalk/websocket

代码实现

下面是完整的 PHP 示例代码,连接 WebSocket 接口并订阅港股 00285.HK 的 1 分钟 K 线数据

<?php
 
require 'vendor/autoload.php';
 
use WebSocket\Client;
 
// 替换为你的 Infoway API Key
$apiKey = 'yourApiKey';
$wsUrl = "wss://data.infoway.io/ws?business=stock&apikey=$apiKey";
 
// 初始化 WebSocket 客户端
$client = new Client($wsUrl, [
    'timeout' => 60,
]);
 
// 构造订阅消息(订阅 00285.HK 的 1分钟K线)
$initMessage = [
    "code" => 10004,
    "trace" => uniqid(),
    "data" => [
        "arr" => [
            [
                "type" => 1,            // 1分钟K线
                "codes" => "00285.HK"   // 港股代码
            ]
        ]
    ]
];
 
// 发送订阅消息
$client->send(json_encode($initMessage));
 
// 设置 ping 发送间隔
$lastPingTime = time();
 
while (true) {
    try {
        // 每30秒发送一次 ping 保持连接
        if (time() - $lastPingTime >= 30) {
            $pingMessage = [
                "code" => 10010,
                "trace" => uniqid()
            ];
            $client->send(json_encode($pingMessage));
            $lastPingTime = time();
        }
 
        // 接收并处理消息
        $message = $client->receive();
        echo "  Message received: $message\n";
 
    } catch (Exception $e) {
        echo "❌ Connection error: " . $e->getMessage() . "\n";
        break;
    }
}

返回示例

{
    "c": "4.58",           // 当前价格
    "h": "4.59",           // 最高价
    "l": "4.54",           // 最低价
    "o": "4.55",           // 开盘价
    "pca": "0.03",         // 价格变化(现价 - 昨收)
    "pfr": "0.66%",        // 价格变化百分比
    "s": "00285.HK",       // 股票代码(港股)
    "t": 1747550648097,    // 时间戳(毫秒)
    "ty": 1,               // K线类型:1 表示1分钟K线
    "v": "120000",         // 交易量(股数)
    "vw": "4.56"           // 加权平均价格
}

港股盘口查询

<?php
 
require 'vendor/autoload.php';
 
use WebSocket\Client;
 
// 请在官网www.infoway.io申请秘钥
$apiKey = 'yourApiKey';
$wsUrl = "wss://data.infoway.io/ws?business=stock&apikey=$apiKey";
 
// 初始化 WebSocket 客户端
$client = new Client($wsUrl, [
    'timeout' => 60,
]);
 
// 构造初始化消息:订阅港股 00285.HK 的盘口数据
$initMessage = [
    "code" => 10002, // 盘口订阅的协议号
    "trace" => uniqid(), // 随机可追踪ID
    "data" => [
        "codes" => "00285.HK" // 港股代码
    ]
];
 
// 发送初始化订阅请求
$client->send(json_encode($initMessage));
 
// 设置 ping 时间戳
$lastPing = time();
 
while (true) {
    try {
        // 每30秒发送一次 ping 保持连接
        if (time() - $lastPing >= 30) {
            $pingMessage = [
                "code" => 10010,
                "trace" => uniqid()
            ];
            $client->send(json_encode($pingMessage));
            $lastPing = time();
        }
 
        // 接收消息
        $message = $client->receive();
        echo "📈 Market Depth Message: $message\n";
 
    } catch (Exception $e) {
        echo "❌ WebSocket error: " . $e->getMessage() . "\n";
        break;
    }
}
點擊查看更多內(nèi)容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優(yōu)惠券免費領(lǐng)

立即參與 放棄機會
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

舉報

0/150
提交
取消