php环境下,两种汇率接口,已经测试通过
方法一:中国银行版本,简单粗暴
//中国银行汇率接口,简单粗暴
//参数pjname:1316美元1326欧元1314英镑
public function getExchangeRate()
{$date = date("Y-m-d", time());//获得页面代码$data = file_get_contents("http://srh.bankofchina.com/search/whpj/search.jsp?erectDate=".$date."¬hing=".$date."&pjname=1316&page=1");//去掉非字符$data = str_replace(array(" ","\r","\n","\t"), "", $data);//得到汇率代码preg_match('/<tr>[\s]*<td>美元<\/td>[\s]*<td>[\s|\S]*<\/td>[\s]*<\/tr>/',$data, $converted);//开始各种调整格式,为了整理为数组$data = str_replace("</tr><tr>", ";", $converted[0]);$data = str_replace(array("<tr>","</tr>"), "", $data);$data = str_replace("</td><td>", ",", $data);$data = str_replace(array("<td>","</td>"), "", $data);$rateList = explode(";", $data);$rate = explode(",", $rateList[0]);//$rate [0] 国家 [1] 现汇买入价 [2]现钞买入价[3]现汇卖出价[4]现钞卖出价[5]外管局中间价[6]中行折算价$rate = $rate[3];$rate = round(($rate/100),2);if(is_numeric($rate))return $rate;else return false;
}
方法二:聚合数据版本,不稳定,但是可用。主要是有访问次数限制。
public function exchangeRate(){$key="390*****************************";//32位密钥需要申请$url = "http://op.juhe.cn/onebox/exchange/currency";$params = array("from" =>"USD", //转换汇率前的货币代码"to" => "CNY", //转换汇率成的货币代码"key" => $key, //应用APPKEY(应用详细页查询));$paramstring = http_build_query($params);$content =$this-> juhecurl($url,$paramstring);$result = json_decode($content,true);if($result){if($result['error_code']=='0'){$rate = $result['result']['0']['result'];param::set_cookie('rate',$rate,86400+SYS_TIME);}else{$rate = 6.70;param::set_cookie('rate',$rate,86400+SYS_TIME);}}else{$rate = 6.70;param::set_cookie('rate',$rate,86400+SYS_TIME);}return $rate;
}public function juhecurl($url,$params=false,$ispost=0){$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;
}
php环境下,两种汇率接口,已经测试通过相关推荐
- android登录加密传输,android环境下两种md5加密方式(示例代码)
在平时开发过程中,MD5加密是一个比較经常使用的算法,最常见的使用场景就是在帐号注冊时,用户输入的password经md5加密后,传输至server保存起来.尽管md5加密经经常使用.可是md5的加密 ...
- Win32环境下两种用于C++的线程同步类(上)
线程同步是多线程程序设计的核心内容,它的目的是正确处理多线程并发时的各种问题,例如线程的等待.多个线程访问同一数据时的互斥,防死锁等.Win32提供多种内核对象和手段用于线程同步,如互斥量.信号量.事 ...
- 单例模式的5种实现方式,以及在多线程环境下5种创建单例模式的效率
这段时间从头温习设计模式.记载下来,以便自己复习,也分享给大家. [java] view plaincopy package com.iter.devbox.singleton; /** * 饿汉式 ...
- centos下两种方法安装git
centos 5 64位下两种方法安装git 这里来给大家介绍下编译安装和yum安装git. 系统:centos 5.5 64位 需要的软件包:git-latest.tar.gz epel-r ...
- Linux环境下几种常用的文件系统
Linux环境下几种常用的文件系统: 1.ext2 ext2是为解决ext文件系统的缺陷而设计的可扩展的.高性能的文件系统,又被称为二级扩展文件系统.它是Linux文件系统中使用最多的类型,并且在速度 ...
- 早教产品微商怎么做精准引流?早教机构引流活动可以分为线上和线下两种
早教产品微商怎么做精准引流?早教机构引流活动可以分为线上和线下两种 一般来说,根据媒介的不同,早教机构引流活动可以分为线上和线下两种,线上的引流方式有:微信.自媒体.短视频;线下的引流方式有地推和异业 ...
- 《Spark商业案例与性能调优实战100课》第9课:商业案例之通过Spark SQL 下两种不同方式实现口碑最佳和最热门电影比较
<Spark商业案例与性能调优实战100课>第9课:商业案例之通过Spark SQL 下两种不同方式实现口碑最佳和最热门电影比较
- cad模型轻量化_CAD环境下一种支持大装配的产品模型轻量化技术
CAD环境下一种支持大装配的产品模型轻量化技术 针对CAD环境下操作复杂大装配常出现加载和显示困难的问题,提出了一种CAD环境下的轻量化解决方案,将参数化表达和多细节层次(LOD)轻量表达共同定义于产 ...
- 正则 8-18位长度,数字,字母,字符 任意两种,不含中文测试通过
原文:正则 8-18位长度,数字,字母,字符 任意两种,不含中文测试通过 String regex = "^(?!^(\\d+|[a-zA-Z]+|[~!@#$%^&*?]+)$)^ ...
最新文章
- 趣学车签约神策数据,数据赋能学车“新体验”
- 区位码\机器码\内码关系
- Mac OS X 10.10更新及体验
- 华为云GaussDB,11.11让企业无后顾之忧
- Scrum之 回顾会议
- 【Python】列表类型操作函数和方法
- Gin实践 番外 Golang交叉编译
- think php5关联模型,thinkphp5中关联模型的定义与使用方法
- linux shell 脚本 入门到实战详解[⭐建议收藏!!⭐]
- 涉密计算机 桌面 及 屏保,符合国家保密要求的涉密计算机屏幕保护程序启动时间要求是不超10分钟 - 作业在线问答...
- RFC 2544阅读笔记
- Opencv颜色空间最全
- USB3.0接口定义浅析
- vscode 升级时失败 win10
- 利用MATLAB免费生成GIF
- 力扣每日一题:891. 子序列宽度之和(java)
- Java将PDF转为图片Jpg
- 【架构师技能篇】Worker初识
- Agile Office 365 免积分下载
- Jetson Nano B01 无界面初始化安装系统+飞桨(Paddle)v2.0