微信公众平台-股票行情查询

2023-05-16

微信公众平台-股票行情查询

php实现的获取上证,深证 A,B股实时行情的接口,只实现了文本消息回复,K线图可以在图文消息中加上接口url地址就可以显示,具体的接口地址网上可以找,有了股票数据源,弄成图文消息也是轻而易举了。

用到php扩展curl库发送http请求到新浪接口,

下面是sendHttp.php源码


<?php
 
    class RespMsg {
 
        public function weatherInfo() {
 
          
 
        }
 
          
 
        public function stockInfo($stockCode) {
 
            $ch = curl_init();
 
              
 
            $header=array();
 
            $header[]="Content-Type: text/plain; charset=UTF-8";
 
            //$header[]="Host: 192.168.242.128";
 
            $header[]="Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2";
 
            $header[]="Connection: keep-alive";
 
            //$header[]="Content-Length: ".strlen($menuJson);
 
              
 
              
 
            if(empty($stockCode))
 
                $stockCode="000001";
 
            if(strncmp($stockCode,"00",2)==0 || strncmp($stockCode,"200",3)==0 || strncmp($stockCode,"300",3)==0 || strncmp($stockCode,"399",3)==0) {
 
                $url = "http://hq.sinajs.cn/list=sz".$stockCode;
 
            } else if(strncmp($stockCode,"60",2)==0 || strncmp($stockCode,"900",3)==0) {
 
                $url = "http://hq.sinajs.cn/list=sh".$stockCode;
 
            }
 
              
 
            if(strcmp($stockCode,"000001")==0) {
 
                $url = "http://hq.sinajs.cn/list=sh".$stockCode.",sz".$stockCode; 
 
            }
 
              
 
            curl_setopt($ch, CURLOPT_URL, $url);
 
            curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
 
            curl_setopt($ch, CURLOPT_POST, 1);
 
            //curl_setopt($ch, CURLOPT_POSTFIELDS, $menuJson);
 
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
 
            curl_setopt($ch, CURLOPT_BINARYTRANSFER, true) ;
 
            curl_setopt($ch, CURLOPT_HEADER, false);
 
            $res = curl_exec($ch);
 
            if(curl_errno($ch)) {
 
                print curl_error($ch);
 
                $res="0";
 
            } else {
 
                curl_close($ch);
 
            } 
 
            //@header('Content-Type:text/plain; charset=utf-8');
 
            //解决中文乱码
 
            $res=mb_convert_encoding($res,"UTF-8","EUC-CN");
 
            return $res;
 
        }
 
          
 
        public function newsInfo() {
 
          
 
        }
 
          
 
          
 
    }
 
?>

//解析新浪接口返回的函数

    

    require("sendHttp.php");

......


private function parserStock($str) {
 
          
 
    $arraykey=array("股票名字",
 
                "今日开盘价",
 
                "昨日收盘价",
 
                "当前价格",
 
                "今日最高价",
 
                "今日最低价",
 
                "竞买价",
 
                "竞卖价",
 
                "成交数(手)",
 
                "成交金额(万)",
 
                "买一(股)",
 
                "买一(元)",
 
                "买二(股)",
 
                "买二(元)",
 
                "买三(股)",
 
                "买三(元)",
 
                "买四(股)",
 
                "买四(元)",
 
                "买五(股)",
 
                "买五(元)",
 
                "卖一(股)",
 
                "卖一(元)",
 
                "卖二(股)",
 
                "卖二(元)",
 
                "卖三(股)",
 
                "卖三(元)",
 
                "卖四(股)",
 
                "卖四(元)",
 
                "卖五(股)",
 
                "卖五(元)",
 
                "日期",
 
                "时间");
 
                  
 
    if($str=="0")
 
        return $result;
 
          
 
    for($i=0,$pos2=0;$i<strlen($str);$i=$i+$pos2) {
 
        if(!($pos1=stripos($str,"=",$pos2))) {
 
            break;
 
        }
 
        if(!($pos2=stripos($str,';',$pos1)))
 
            break;
 
          
 
        $tmp=substr($str,$pos1+2,$pos2-$pos1-3);
 
          
 
        if(strlen($tmp)==0)
 
            return $result;
 
              
 
        $arraydata=explode(",",$tmp);
 
          
 
        for($i=0;$i<count($arraykey);$i++) {
 
            if(!$arraydata)
 
                break;
 
            $result=$result.$arraykey[$i].":".$arraydata[$i]."\n";
 
        }
 
          
 
        $result=$result."\n";
 
           
 
    }
 
      
 
    return $result;
 
          
 
} 

在主循环中用下面几行获得文本行情数据

    $respObj = new RespMsg();

    $ret = $respObj->stockInfo($keyword);

    $result=$this->parserStock($ret);


程序不够完善,例如返回数据的排版格式不够美观、000001上证指数的返回会同时返回000001中国平安的数据等。后面可以完善下。


有兴趣看效果的可以关注微信公众账号named_a_name。


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

微信公众平台-股票行情查询 的相关文章

  • 使用ZeroTier搭建虚拟局域网,完成虚拟局域网内直连

    此文章涉及 xff1a Zerotier速度慢的解决办法 Zerotier实际应用展示 Zerotier简单实用教程 技术背景 在经过接近一个学期的互联网安全的学习 xff0c 我接触到了网络的很多种攻击 xff0c 渗透与防守的方式 从这
  • vitis HLS 在进行C simulation时遇到工程csim/build/csim.exe not found 报错的问题排查

    在进行HLS设计学习时 xff0c 想对写好的东西进行C代码模拟 xff0c 但最后提示存在错误 xff0c 如下 xff1a 查看错误信息的话 xff0c 只有抽象的ERROR SIM 211 100 CSim file generati
  • ubuntu20.04 下使用cgroup 限制内存

    本实践的主要操作请参照 参考链接 进行 由于在实践中主要想完成的目标是限制服务器中用户 用户组的内存使用 xff0c 防止某个用户占用过多的cpu 内存导致其他用户无法正常使用甚至服务器宕机 xff0c 因此需要手动加cgexec指令的实验
  • 通过github action完成自动多平台编译和docker推送

    简介 因为一个小项目 xff0c 之前一直是手动制作镜像 xff0c 现在需要用docker部署 xff0c 然后还要基于arm64编译 xff0c 想着不如实践一下 xff0c 学习一下github action和Dockerfile的编
  • 让你的 STM32Cube KEILV5 + HAL库工程支持C++开发

    前言 最近这段时间在弄一个新的STM32F4的项目 xff0c 因为工程比较庞大 xff0c 然后各种类型也比较复杂 xff0c 在封装整理的时候就非常头疼 xff0c 很想通过C 43 43 的类 xff0c 继承 xff0c 多态的方式
  • ESP8266 TCP ERROR CLOSED的常见原因及解决办法

    前言 最近在使用ESP8266的简单AT指令做串口透传 xff0c 本来想着和HC 05的蓝牙串口差不多简单吧 xff0c xff0c 结果发现ESP8266似乎并没有像HC 05那么易用 xff0c 需要配置的东西还挺多的 xff0c 而
  • (二)TCP客户端/服务器通信------select函数

    xff08 一 xff09 select函数 该函数允许进程指示内核等待多个事件中的任何一个发生 xff0c 并只在有一个或多个事件发生或经历一段指定的时间后才唤醒它 也就是说 xff0c 我们调用select告知内核对哪些描述符 xff0
  • QGC参数请求流程(第一集)

    xff31 xff27 xff23 参数请求流程 xff08 第一集 xff09 联系作者 QQ 843230304 如流程图所示 xff1a 对应 xff31 xff27 xff23 的ParameterManager模块 xff0c 这
  • 航模螺旋桨型号

    1 有两个重要的参数 xff0c 桨直径和桨螺距 xff0c 单位均为英寸 比如8060桨 xff0c 就是说这个桨直径是8英寸 即8 2 54 xff1d 20 32厘米 螺距则为6英寸 螺距则代表桨旋转一周前进的距离
  • 用Java代码实现选择排序法

    package com hu controller public class Test public static void main String args 声明一个整形的数组 并手动输入几个数 int arr 61 11 665 985
  • C语言递归的方法实现斐波那契

    int fib int n void main int n 61 10 int result 61 fib n printf 34 d 34 result int fib int n if n gt 61 3 原题目这里是if n gt 6
  • 支持ie7,ie8,ff,不完全支持ie6的js日期控件

    var MonthDNum 61 new Array 0 31 28 31 30 31 30 31 31 30 31 30 31 var MonthText 61 new Array 34 34 34 一月 34 34 二月 34 34 三
  • oracle主键生成方式

    oracle主键 两种方法 自增主键sequence SYS GUID 生成唯一序列 一 自增主键 创建一个表 create table test NID int PRIMARY KEY oracle主键 两种方法 自增主键sequence
  • Vmware vSphere(一)安装vSphere client 以及 ubuntu

    大致流程见附件 VMware Tools 安装 xff0c 使用 xff0c 命令 xff1a vmware toolbox http blog csdn net dzassn article details 1633577 vmware
  • syslog 协议及格式

    官方文档 xff1a http tools ietf org html rfc5424 6 Syslog Message Format 6 2 HEADER 6 2 1 PRI PRI 61 lt Facility 0 23 8 43 Se
  • chm打不开

    chm文件打开看不到右边的内容 1 操作系统为了安全对下载的chm文件进行了锁定 xff0c 只需要在打开前右键单击该chm文件选择 属性 xff0c 然后在 常规 选项卡的下方单击 解除锁定 按钮就可以了 2 如果还是不能看 xff0c
  • 形式语言与自动机笔记

  • 关于Keil开发C51单片机的头文件问题

    我用的德飞莱的资料 在学习STM32中回想起学C51单片机时 xff0c 有个问题一直没解决 xff0c 就是头文件regx52 h和reg52 h的区别 因为在引用regx52 h时 xff0c 可以直接用P1 1 P3 2这些小口 但是
  • JAXB(二)Map属性映射

    JAXB support Collection List Set does not support Map not Collection XmlAdapter lt ValueType BoundType gt use List to im
  • JAXB(三)xsd 验证

    现在只有最简单的关联映射验证 关键点 xff1a jaxbMarshaller setSchema sch 还不会验证集合类型 xff1a List Set Map 以后再把JAXB xff08 二 xff09 的例子加上 xff0c 64

随机推荐

  • jstat

    http blog csdn net swpihchj article details 8197204
  • Effctive Java 笔记

    8 重写equals xff0c 只适合值类 xff08 枚举类除外 xff09 自反性 xff1a x equals x 61 61 true 对称性 x equals y 61 61 true 必然 y equals x 61 61 t
  • maven

    http blog csdn net zjf280441589 article details 53044308 http www infoq com maven Porject groupId 43 artifactId 43 versi
  • Linux第二课:Ubuntu 操作入门(内含:1Ubuntu 下打开终端+2 Linux 文件属性+3 设置屏幕+4 系统关机与重启+5.文件浏览器)

    Ubuntu 操作入门 2 2 1Ubuntu 下打开终端 方法1 点击 Ubuntu 桌面左上角图标进入搜索框 xff0c 输入 term 可以弹出终端 Terminal 程序 方法2 xff1a 桌面或者在文件浏览器的任何目录下右键鼠标
  • 堆中存什么?栈中存什么?

    堆中存的是对象 栈中存的是基本数据类型 和堆中对象的引用 一个对象的大小是不可估计的 xff0c 或者说是可以动态变化的 xff0c 但是在栈中 xff0c 一个对象只对应了一个4btye的引用 xff08 堆栈分离的好处 xff1a xf
  • 计算一个数的N次方

    计算一个数的N次方时 xff0c 我们先设定两个参数n和k xff0c n表示你要输入的数 xff0c k表示这个数的次方 这个时候我们必须对次方数k作出分类 xff1a k 61 0 return 1 其他 xff1a return n
  • 用结构体编写电话通讯录

    用结构体数组编写电话通讯录 xff0c 必须得知道结构体的形式 xff0c 那先把结构体定义回顾一下 xff1a 一般形式为 xff1a xff08 1 xff09 struct 结构体名称 成员表列 数组名 数组长度 如 xff1a st
  • linux(centos)下安装git并上传代码些许步骤(亲自验证过的步骤)

    以前听说了好多次github xff0c 但直到最近才第一次学习使用github来托管自己在linux下的代码 xff01 说实话 xff0c 我自己在使用的时候从网上查了好多教程 xff0c 但总觉得难以掌握 xff08 步骤过于繁琐 x
  • shell具体执行过程及自主实现shell解释器

    在编写shell 解释器之前 xff0c 先来分析几个知识点 xff1a xff08 1 xff09 shell 执行命令时步骤 xff1a xff08 如下图 xff09 xff08 2 xff09 shell 执行脚本时的步骤 xff1
  • Linux下的桥接模式和Nat模式的区别

    先来看一下linux在的桥接模式和Nat模式的差别 xff1a 桥接模式 xff1a Nat模式 xff1a 真正的接触这个问题是因为同学要给我远程传输文件 xff0c 这个时候就调节至桥接模式下 xff0c 进行ping 尽管我们用的是同
  • C知识点整合

    C语言总结 一 语法 1 常见的数据内置类型所占字节 xff08 64 位下 xff09 xff1a char 1 int 4 float 4 long 4 double 8 Longlong 8 2 变量 xff1a xff08 1 xf
  • 判断一棵二叉树是否为完全二叉树

    1 完全二叉树的特点 xff08 来自专业定义 xff09 看到上面完全二叉树的特点 xff0c 我可以将其特点按照自己的 理解归纳为以下几点 xff1a xff08 1 xff1a 若二叉树最下面一层有节点出现 xff0c 那么这个节点一
  • 深入理解JNI技术

    一 JNI是什么 xff1f JNI是Java Native Interface的缩写 xff0c 译为Java本地调用 JNI是一种技术 二 JNI技术的用途 xff1f Java程序中的函数调用Native程序中的函数 Native一般
  • HTTP基本认证(Basic Authentication)

    在浏览网页时候 xff0c 浏览器会弹出一个登录验证的对话框 xff0c 如下图 xff0c 这就是使用HTTP基本认证 1 客户端发送http request 给服务器 服务器验证该用户是否已经登录验证过了 xff0c 如果没有的话 xf
  • 将字符串以单词为单位逆序"I am a Student" 解法

    网上有个题目 xff0c 将字符串以单词为单位逆序 例如 34 I am a Student 34 要变成 34 Student a am I 34 解法大致为 xff1a 先将字符串整体逆序第一个字符和最后一个交换 xff0c 第二个与倒
  • 堆排序查找前N个最大数和二分查找算法

    先了解堆排序概念 堆排序利用了大根堆 xff08 或小根堆 xff09 堆顶记录的关键字最大 xff08 或最小 xff09 这一特征 xff0c 使得在当前无序区中选取最大 xff08 或最小 xff09 关键字的记录变得简单 xff08
  • 构建hash表和两种处理冲突方法

    hash表定义 hashing定义了一种将字符组成的字符串转换为固定长度 xff08 一般是更短长度 xff09 的数值或索引值的方法 xff0c 称为散列法 xff0c 也叫哈希法 由于通过更短的哈希值比用原始值进行数据库搜索更快 xff
  • 用hash_map统计出现次数最多的前N个URL

    海量数据统计频率最高词汇的常规办法之一是先通过一个hash函数处理数据然后取模N xff0c 拆分为N个小文件 xff0c 对每一个小文件进行词频统计和排序处理 xff0c 然后归并N个小文件取频率最大的M个数 下面程序是利用hash ma
  • C++与java语法的异同整理

    文章目录 Java与C 43 43 与基础语法异同java的认知 amp java与C 43 43 的异同C 43 43 中的虚函数和JAVA中的抽象方法区别C 43 43 虚函数与JAVA中抽象函数比较关于接口与抽象类 xff1a Jav
  • 微信公众平台-股票行情查询

    微信公众平台 股票行情查询 php实现的获取上证 xff0c 深证 A B股实时行情的接口 xff0c 只实现了文本消息回复 xff0c K线图可以在图文消息中加上接口url地址就可以显示 xff0c 具体的接口地址网上可以找 xff0c