思路

先从yahoo接口获取数据,再定义接口,转化成为json输出。只供卡通网(kt5.cn)使用

stock.php 接口处理代码

<?php
header("Content-Type: application:json;charset=utf-8");
header('Access-Control-Allow-Origin:http://www.kt5.cn'); // 只允许kt5.cn这域名进行跨域get访问
header('Access-Control-Allow-Methods:GET');
header('Access-Control-Allow-Headers:x-requested-with,content-type'); $StockName=$_REQUEST['stockname'];
$StartDateArr=explode("-",$_REQUEST['startdate']);
$EndDateArr=explode("-",$_REQUEST['enddate']); $StartMonth=$StartDateArr[1] - 1;
$StartDay=$StartDateArr[2];
$StartYear=$StartDateArr[0];
$EndMonth=$EndDateArr[1] - 1;
$EndDay=$EndDateArr[2];
$EndYear=$EndDateArr[0];
$StockAPI = 'http://table.finance.yahoo.com/table.csv?s='.$StockName.'&f='.$EndYear.'&d='.$EndMonth.'&e='.$EndDay.'&c='.$StartYear.'&a='.$StartMonth.'&b='.$StartDay.'&g=d&ignore=.csv'; // 定义stock api的url
$StockData = json_encode(csv_in_array($StockAPI,",","",true)); // 定义值为读取到的Stock信息
// echo '<pre>'; // 输出原文本格式
echo $StockData; // 输出获取到的stock信息文本
// echo "</pre>"; // 输出原文本格式 function csv_in_array($url,$delm=",",$encl="",$head=true) { $csvxrow = file($url); // ---- csv rows to array ---- $csvxrow[0] = chop($csvxrow[0]);
$csvxrow[0] = str_replace($encl,'',$csvxrow[0]);
$keydata = explode($delm,$csvxrow[0]);
$keynumb = count($keydata); if ($head === true) {
$anzdata = count($csvxrow);
$z=0;
for($x=1; $x<$anzdata; $x++) {
$csvxrow[$x] = chop($csvxrow[$x]);
$csvxrow[$x] = str_replace($encl,'',$csvxrow[$x]);
$csv_data[$x] = explode($delm,$csvxrow[$x]);
$i=0;
foreach($keydata as $key) {
$out[$z][$key] = $csv_data[$x][$i];
$i++;
}
$z++;
}
}
else {
$i=0;
foreach($csvxrow as $item) {
$item = chop($item);
$item = str_replace($encl,'',$item);
$csv_data = explode($delm,$item);
for ($y=0; $y<$keynumb; $y++) {
$out[$i][$y] = $csv_data[$y];
}
$i++;
}
} return $out;
} ?>

[N久以前发布的文章]php 获取yahoo股票csv数据并封闭成为接口输出json数据的更多相关文章

  1. 通过js获取前台数据向一般处理程序传递Json数据,并解析Json数据,将前台传来的Json数据写入数据库表中

    摘自:http://blog.csdn.net/mazhaojuan/article/details/8592015 通过js获取前台数据向一般处理程序传递Json数据,并解析Json数据,将前台传来 ...

  2. 《项目经验》--通过js获取前台数据向一般处理程序传递Json数据,并解析Json数据,将前台传来的Json数据写入数据库表中

      先看一下我要实现的功能界面:   这个界面的功能在图中已有展现,课程分配(教师教授哪门课程)在之前的页面中已做好.这个页面主要实现的是授课,即给老师教授的课程分配学生.此页面实现功能的步骤已在页面 ...

  3. ASP.NET实现二维码 ASP.Net上传文件 SQL基础语法 C# 动态创建数据库三(MySQL) Net Core 实现谷歌翻译ApI 免费版 C#发布和调试WebService ajax调用WebService实现数据库操作 C# 实体类转json数据过滤掉字段为null的字段

    ASP.NET实现二维码 using System;using System.Collections.Generic;using System.Drawing;using System.Linq;us ...

  4. 使用Servlet根据浏览器request的get方法获取值,将磁盘中与之对应的json数据删除的方法

    package com.swift; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStrea ...

  5. 微信授权、获取用户openid-纯前端实现——jsonp跨域访问返回json数据会报错的纯前端解决办法

    近来,倒霉的后台跟我说让我拿个openid做微信支付使用,寻思很简单,开始干活. 首先引导用户打开如下链接,只需要将appid修改为自己的就可以,redirect_url写你的重定向url https ...

  6. AJAX 跨域请求 - JSONP获取JSON数据

    Asynchronous JavaScript and XML (Ajax ) 是驱动新一代 Web 站点(流行术语为 Web 2.0 站点)的关键技术.Ajax 允许在不干扰 Web 应用程序的显示 ...

  7. android客户端从服务器端获取json数据并解析的实现代码

    今天总结一下android客户端从服务器端获取json数据的实现代码,需要的朋友可以参考下   首先客户端从服务器端获取json数据 1.利用HttpUrlConnection /** * 从指定的U ...

  8. (转)android客户端从服务器端获取json数据并解析的实现代码

    今天总结一下android客户端从服务器端获取json数据的实现代码,需要的朋友可以参考下       首先客户端从服务器端获取json数据 1.利用HttpUrlConnection   复制代码 ...

  9. android客户端从服务器端获取json数据并解析的实现代码(重要)

    首先客户端从服务器端获取json数据 1.利用HttpUrlConnection /** * 从指定的URL中获取数组 * @param urlPath * @return * @throws Exc ...

随机推荐

  1. DevExpress的进度条控件ProgressBarControl的使用-以ZedGraph添加曲线进度为例

    场景 Winform控件-DevExpress18下载安装注册以及在VS中使用: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/1 ...

  2. Angular ElementRef详解

    一.为什么要用ElementRef Angular 的口号是 - "一套框架,多种平台.同时适用手机与桌面 (One framework.Mobile & desktop.)&quo ...

  3. 微信小程序获取input输入框内容

    1.wxml <input class="weui-input" type='number' bindinput="emailInput"/>   ...

  4. Web APP自动更新

    我们的手机软件每天都要经营,经常需要更新,比如程序的Bug,好的功能,好的洁面... ... 这就需要我们的用户打开web app时候自动更新客户端程序,而不是再去应用程序商店从新下载.今天的笔记就是 ...

  5. [Go] Golang中的面向对象

    struct interface 就可以实现面向对象中的继承,封装,多态 继承的演示:Tsh类型继承People类型,并且使用People类型的方法 多态的演示Tsh类型实现了接口Student,实现 ...

  6. git集成idea

    1.Git Gui的使用 2.Ssh key 介绍及使用 3.Idea配置使用并使用git Git Gui的使用 Ssh key 介绍及使用 Ssh key介绍 我理解的就是每台电脑上会产生出一个ss ...

  7. Vue动态加载图片图片不显示

    图片是放在assets文件夹下的 使用require进行解决 图片不显示的原因 在webpack,将图片放在assets中,会将图片图片来当做模块来用,因为是动态加载的,所以url-loader将无法 ...

  8. Linux下安装redis报错信息

    redis在Linux安装报错 标签: redislinuxcentos 2017-02-24 13:46 384人阅读 评论(0) 收藏 举报  分类: Linux安装工具(2)  版权声明:本文为 ...

  9. acwing 7 混合背包

    习题地址  https://www.acwing.com/problem/content/description/7/ 题目描述有 N 种物品和一个容量是 V 的背包. 物品一共有三类: 第一类物品只 ...

  10. Python解释器和Python集成环境小结

    目录 一.执行Python程序的两种方式 1.1 交互式 1.2 命令行式 二.执行Python程序的两种IDE 2.1 Pycharm 2.2 Jupyter 一.执行Python程序的两种方式 1 ...