当前位置: 首页 > news >正文

php二次开发股票系统代码:腾讯股票数据接口地址、批量获取股票信息、转换为腾讯接口指定的股票格式

1、腾讯股票数据控制器

<?php
namespace app\index\controller;use think\Model;
use think\Db;const BASE_URL = 'http://aaaaaa.aaaaa.com'; //腾讯数据地址class TencentStocks extends Home
{
//里面具体的方法
}

2、请求接口返回内容

 function juhecurl($url, $params = false, $ispost = 0){header('Content-Type:text/html; charset=gb_2312');$httpInfo = array();$ch = curl_init();curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);curl_setopt($ch, CURLOPT_USERAGENT, 'JuheData');curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 60);curl_setopt($ch, CURLOPT_TIMEOUT, 60);curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);if ($ispost) {curl_setopt($ch, CURLOPT_POST, true);curl_setopt($ch, CURLOPT_POSTFIELDS, $params);curl_setopt($ch, CURLOPT_URL, $url);} else {if ($params) {curl_setopt($ch, CURLOPT_URL, $url . '/' . $params);} else {curl_setopt($ch, CURLOPT_URL, $url);}}$response = curl_exec($ch);if ($response === FALSE) {//echo "cURL Error: " . curl_error($ch);return false;}$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);$httpInfo = array_merge($httpInfo, curl_getinfo($ch));curl_close($ch);return $response;}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3、批量获取股票信息

*0: 不明
*1: 名字
*2: 代码
*3: 现价
*4: 昨日收
*5: 今日开
*31: 涨跌价
*32: 涨跌百分比
*33: 最高价
*34: 最低价

function getStockInfo($codes){$codeStrings = "";$obj = new self();foreach ($codes as $item) {$code = $obj->toFrontStockCode($item);$codeStrings = $codeStrings . ',' . $code;}if (startwith($codeStrings, ",")) {$codeStrings = substr($codeStrings, 1);}$params = array("q" => $codeStrings,//股票编号,上海股市以sh开头,深圳股市以sz开头如:sh601009);$paramstring = http_build_query($params);$res = $obj->juhecurl(BASE_URL, $paramstring);$result1 = explode(';', $res);$data = array();foreach ($result1 as $item) {$item = explode('"', $item)[1];$item1 = explode('~', $item);$codeInfo = array("stockName" => $item1[1],"stockCode" => $item1[2],"currentPrice" => $item1[3] == 0 ? $item1[4] : $item1[3],"differentialPercent" => $item1[32],"differential" => $item1[31],"yesterdayCollect" => $item1[4],"todayOpen" => $item1[5]);$data[] = $codeInfo;}return $obj->array_iconv("gbk", "utf-8", $data);
//        echo '<pre>';
//        print_r($data);
//        die();}

4、第一个参数为当前编码,第二个参数为转换后的编码,第三个参数是一维或者二维数组

 function array_iconv($in_charset, $out_charset, $arr){foreach ($arr as $k => &$v) {if (is_array($v)) {foreach ($v as $kk => &$vv) {$vv = iconv($in_charset, $out_charset, $vv);}} else {$v = iconv($in_charset, $out_charset, $v);}}return $arr;}

5、截取指定两个字符之间的字符串

public function cut($begin, $end, $str)
{$b = mb_strpos($str, $begin) + mb_strlen($begin);$e = mb_strpos($str, $end) - $b;return mb_substr($str, $b, $e);
}

6、转换为腾讯接口指定的股票格式

function toFrontStockCode($code)
{if (startwith($code, "0") || startwith($code, "3")) {return "sz" . $code;} else if (startwith($code, "6")) {return "sh" . $code;}return $code;
}

7、把stdClass Object 转成数组array

function object2array($array)
{if (is_object($array)) {$array = (array)$array;}if (is_array($array)) {foreach ($array as $key => $value) {$array[$key] = $this->object2array($value);}}return $array;
}

需要 二次开发、安装部署的,可以QQ扫一扫:

在这里插入图片描述

相关文章:

php二次开发股票系统代码:腾讯股票数据接口地址、批量获取股票信息、转换为腾讯接口指定的股票格式

1、腾讯股票数据控制器 <?php namespace app\index\controller;use think\Model; use think\Db;const BASE_URL http://aaaaaa.aaaaa.com; //腾讯数据地址class TencentStocks extends Home { //里面具体的方法 }2、请求接口返回内容 function juhecurl($url, $params f…...

uniapp 在static/index.html中添加全局样式

前言 略 在static/index.html中添加全局样式 <style>div {background-color: #ccc;} </style>static/index.html源码&#xff1a; <!DOCTYPE html> <html lang"zh-CN"><head><meta charset"utf-8"><meta http-…...

acrobat调整pdf的页码和实际页码保持一致

Acrobat版本 具体操作 现在拿到pdf的结构如下&#xff1a; pdf页码实际页码1-10页无页码数11页第1页 操作&#xff0c;选择pdf第10页&#xff0c;右键点击 具体设置 最终效果...

ctfshow-命令执行

大佬文章 L i n u x \rm Linux Linux 下空格绕过 无参数 r c e \rm rce rce 无字符 r c e \rm rce rce web29 通配符&#xff1a; *&#xff1a;匹配任意多个字符 ?&#xff1a;匹配任意一个字符 []&#xff1a;匹配某个范围的字符&#xff08; [ a d ] [ad] [ad] 表示 …...

【Python基础015】集合的用法

1、定义 集合是无序可变&#xff0c;元素不能重复。实际上&#xff0c;集合底层是字典实现&#xff0c;集合的所有元素都是字典中的 “ 键对象”&#xff0c;因此是不能重复的且唯一的。 2、创建 &#xff08;1&#xff09;使用{}创建 a {1, 2, 3} # 集合存储整数b {1, 2,…...

解密神经网络:深入探究传播机制与学习过程

解密神经网络&#xff1a;深入探究传播机制与学习过程 文章目录 解密神经网络&#xff1a;深入探究传播机制与学习过程一、引言二、基础理论1. 人工神经元&#xff1a;构建块的定义2. 神经网络的结构3. 激活函数的作用 三、前向传播1. 数据流动&#xff1a;输入到输出2. 加权和…...

linux usb设备网络共享 usb/ip

USB设备的网络共享可以通过USB/IP来实现&#xff0c; USB/IP把USB I/O信息封装成TCP/IP格式在网络端传输 &#xff0c;可以实现usb的全部功能&#xff0c;且跨平台&#xff0c;是个透明的设备共享机制。 一、服务端 $sudo modprobe usbip-core$sudo modprobe usbip_host$usbip…...

如何通过系统命令排查账号安全?

如何通过系统命令排查账号安全 query user 查看当前登录账号 logoff id 注销用户id net user 查看用户 net user username 查看用户登录情况 lusrmgr.msc 查看隐藏账号 winR打开regedit注册表 找到计算机\HEKY_LOCAL_MACHINE\SAM\SAM\右键给与用户读写权限 刷新打开 HKEY…...

​《WebKit 技术内幕》学习之九(3): JavaScript引擎

3 JavaScriptCore引擎 3.1 原理 JavaScriptCore引擎是WebKit中的默认JavaScript引擎&#xff0c;也是苹果在开源WebKit项目之后&#xff0c;开源的另外一个重要的项目。同其他很多引擎一样&#xff0c;在刚开始的时候它的主要部分是一个基于抽象语法树的解释器&#xff0c;这…...

IS-IS:05 ISIS开销值和协议优先级

IS-IS 协议为路由器的每个 IS-IS 接口定义并维护了一个 level-1 开销值和一个 level-2开销值。开销值可以在接口上或者全局上手动配置&#xff0c;也可以使用 auto-cost自动计算确定。 修改接口cost&#xff1a; int g0/0/0 isis cost 50修改全局cost&#xff1a; isis cir…...

群辉NAS的远程访问

群辉NAS是私有云存储&#xff0c;局域网访问很容易【详见&#xff1a;网上邻居访问设置、其它设备的访问设置】&#xff0c;远程访问相对复杂&#xff0c;涉及很多关键因素&#xff0c;现将过程记录如下&#xff1a; 目录 1、互联网接入 2、绑定MAC与IP地址 3、路由器开启5…...

构建未来学堂:在线教育系统开发技术实践

在当今数字化时代&#xff0c;在线教育系统的开发越发显得至关重要。本文将带你深入了解在线教育系统的开发&#xff0c;涉及到关键的技术实践和代码示例。我们将采用现代化技术栈&#xff0c;为未来学堂的搭建提供实用的指南。 技术栈选择 在开始实际的开发之前&#xff0c…...

EMQX 单机及集群搭建

目录 1. 通过 Yum 源安装&#xff08;CentOS7 单机安装&#xff09; 1.1. 通过以下命令配置 EMQX Yum 源&#xff1a; 1.2. 运行以下命令安装 EMQX&#xff1a; 1.3. 运行以下命令启动 EMQX&#xff1a; 1.4. 访问 http://192.168.88.130:18083&#xff0c;默认用户名: adm…...

SpringMVC-对静态资源的访问

1.工程中加入静态资源 在webapp下创建static文件夹&#xff0c;此文件夹专门放入静态资源 2.使项目可以处理静态资源的请求 在SpringMVC配置文件中添加以下语句 1.引入命名空间 xmlns:mvc"http://www.springframework.org/schema/mvc" xsi:schemaLocation“http…...

形参和实参

目录 形参&#xff08;形式参数&#xff09;&#xff1a; 实参&#xff08;实际参数&#xff09;&#xff1a; 形参和实参的区别和联系 具体实例: 当我们谈论"形参"和"实参"时&#xff0c;可以用以下类比来解释它们之间的关系&#xff1a; 形参…...

[git] windows系统安装git教程和配置

一、何为Git Git(读音为/gɪt/)是一个开源的分布式版本控制系统&#xff0c;可以有效、高速地处理从很小到非常大的项目版本管理。 二、git安装包 有2种版本&#xff0c;Git for Windows Setup和Git for Windows Portable(便携版)两个版本都可以。 三、Git for Windows Por…...

php的性能要比node.js高很多吗?

在当今的编程世界中&#xff0c;PHP和Node.js是两种广泛使用的服务器端编程语言。虽然它们都用于构建高效的网络应用程序&#xff0c;但关于它们性能的争论一直存在。有些人认为PHP的性能要比Node.js高很多&#xff0c;而另一些人则持相反意见。 性能通常指的是计算机程序或系…...

[极客大挑战 2019]BabySQL1

发现union select被过滤了&#xff0c;双写绕过 or、from被过滤 where被过滤 在b4bysql中找到flag...

机器视觉在OCR字符检测的应用

在产品质量 检测过程中&#xff0c;对于字符、条码等标识信息的识别、读取、检测是非常重要的一部分&#xff0c;比如在食品饮料包装检测中&#xff0c;生产日期 、保质期 、生产批号 、条码等字符信息是产品管理和追溯必不可缺的&#xff0c;因此利用机器视觉技术进行OCR字符采…...

讲清楚浅拷贝和深拷贝

先放出实现浅拷贝和深拷贝的一些方法(直接食用)&#xff1a; 1.浅拷贝&#xff1a; 浅拷贝在拷贝对象的时候&#xff0c;对于对象最外一层实现的是普通的值拷贝&#xff0c;对于对象里面的对象是浅拷贝&#xff0c;只复制地址不复制地址对应的值。 /* 方法1.1&#xff1a;扩…...

手游刚开服就被攻击怎么办?如何防御DDoS?

开服初期是手游最脆弱的阶段&#xff0c;极易成为DDoS攻击的目标。一旦遭遇攻击&#xff0c;可能导致服务器瘫痪、玩家流失&#xff0c;甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案&#xff0c;帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...

Objective-C常用命名规范总结

【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名&#xff08;Class Name)2.协议名&#xff08;Protocol Name)3.方法名&#xff08;Method Name)4.属性名&#xff08;Property Name&#xff09;5.局部变量/实例变量&#xff08;Local / Instance Variables&…...

短视频矩阵系统文案创作功能开发实践,定制化开发

在短视频行业迅猛发展的当下&#xff0c;企业和个人创作者为了扩大影响力、提升传播效果&#xff0c;纷纷采用短视频矩阵运营策略&#xff0c;同时管理多个平台、多个账号的内容发布。然而&#xff0c;频繁的文案创作需求让运营者疲于应对&#xff0c;如何高效产出高质量文案成…...

Java 与 MySQL 性能优化:MySQL 慢 SQL 诊断与分析方法详解

文章目录 一、开启慢查询日志&#xff0c;定位耗时SQL1.1 查看慢查询日志是否开启1.2 临时开启慢查询日志1.3 永久开启慢查询日志1.4 分析慢查询日志 二、使用EXPLAIN分析SQL执行计划2.1 EXPLAIN的基本使用2.2 EXPLAIN分析案例2.3 根据EXPLAIN结果优化SQL 三、使用SHOW PROFILE…...

Linux安全加固:从攻防视角构建系统免疫

Linux安全加固:从攻防视角构建系统免疫 构建坚不可摧的数字堡垒 引言:攻防对抗的新纪元 在日益复杂的网络威胁环境中,Linux系统安全已从被动防御转向主动免疫。2023年全球网络安全报告显示,高级持续性威胁(APT)攻击同比增长65%,平均入侵停留时间缩短至48小时。本章将从…...

2025年低延迟业务DDoS防护全攻略:高可用架构与实战方案

一、延迟敏感行业面临的DDoS攻击新挑战 2025年&#xff0c;金融交易、实时竞技游戏、工业物联网等低延迟业务成为DDoS攻击的首要目标。攻击呈现三大特征&#xff1a; AI驱动的自适应攻击&#xff1a;攻击流量模拟真实用户行为&#xff0c;差异率低至0.5%&#xff0c;传统规则引…...

用鸿蒙HarmonyOS5实现国际象棋小游戏的过程

下面是一个基于鸿蒙OS (HarmonyOS) 的国际象棋小游戏的完整实现代码&#xff0c;使用Java语言和鸿蒙的Ability框架。 1. 项目结构 /src/main/java/com/example/chess/├── MainAbilitySlice.java // 主界面逻辑├── ChessView.java // 游戏视图和逻辑├── …...

无需布线的革命:电力载波技术赋能楼宇自控系统-亚川科技

无需布线的革命&#xff1a;电力载波技术赋能楼宇自控系统 在楼宇自动化领域&#xff0c;传统控制系统依赖复杂的专用通信线路&#xff0c;不仅施工成本高昂&#xff0c;后期维护和扩展也极为不便。电力载波技术&#xff08;PLC&#xff09;的突破性应用&#xff0c;彻底改变了…...

Python异步编程:深入理解协程的原理与实践指南

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 持续学习&#xff0c;不断…...

uniapp获取当前位置和经纬度信息

1.1. 获取当前位置和经纬度信息&#xff08;需要配置高的SDK&#xff09; 调用uni-app官方API中的uni.chooseLocation()&#xff0c;即打开地图选择位置。 <button click"getAddress">获取定位</button> const getAddress () > {uni.chooseLocatio…...