`
jammk
  • 浏览: 42541 次
文章分类
社区版块
存档分类
最新评论

免费的货币汇率API

阅读更多

先上API文档链接:https://www.juhe.cn/docs/api/id/23,支持人民币牌价、外汇汇率查询;数据仅供参考,交易时以银行柜台成交价为准。

人民币牌价

接口地址:http://web.juhe.cn:8080/finance/exchange/rmbquot
支持格式:json
请求方式:get
请求示例:http://web.juhe.cn:8080/finance/exchange/rmbquot?key=您申请的APPKEY
接口备注:100外币兑人民币
请求参数说明: 名称 类型 必填 说明
key String APP Key
type int 两种格式(0或者1,默认为0)
bank int (0:工商银行,1:招商银行,2:建设银行,3:中国银行,4:交通银行,5:农业银行,默认为:中国银行)

JSON返回示例:

{  
"resultcode":"200",  
"reason":"SUCCESSED!",  
"result":[  
    {  
    "data1":{  
        "name":"英镑",                 /*货币名称*/  
        "fBuyPri":"1001.430",            /*现汇买入价*/  
        "mBuyPri":"970.510",             /*现钞买入价*/  
        "fSellPri":"1009.480",           /*现汇卖出价*/  
        "mSellPri":"1009.480",           /*现钞卖出价*/  
        "bankConversionPri":"1014.870",      /*银行折算价/中间价*/  
        "date":"2012-12-13",             /*发布日期*/  
        "time":"16:25:49"            /*发布时间*/  
    },  
    "data2":{  
        "name":"港币",  
        "fBuyPri":"80.210",  
        "mBuyPri":"79.570",  
        "fSellPri":"80.520",  
        "mSellPri":"80.520",  
        "bankConversionPri":"81.140",  
        "date":"2012-12-13",  
        "time":"16:25:49"  
    },  
    "data3":{  
        "name":"美元",  
        "fBuyPri":"621.650",  
        "mBuyPri":"616.670",  
        "fSellPri":"624.150",  
        "mSellPri":"624.150",  
        "bankConversionPri":"628.870",  
        "date":"2012-12-13",  
        "time":"16:25:49"  
    },  
    "data4":{  
        "name":"瑞士法郎",  
        "fBuyPri":"670.310",  
        "mBuyPri":"649.620",  
        "fSellPri":"675.700",  
        "mSellPri":"675.700",  
        "bankConversionPri":"674.350",  
        "date":"2012-12-13",  
        "time":"16:25:49"  
    },  
    "data5":{  
        "name":"新加坡元",  
        "fBuyPri":"508.300",  
        "mBuyPri":"492.610",  
        "fSellPri":"512.390",  
        "mSellPri":"512.390",  
        "bankConversionPri":"512.000",  
        "date":"2012-12-13",  
        "time":"16:25:49"  
    },  
    "data6":{  
        "name":"瑞典克朗",  
        "fBuyPri":"93.340",  
        "mBuyPri":"90.450",  
        "fSellPri":"94.090",  
        "mSellPri":"94.090",  
        "bankConversionPri":"93.770",  
        "date":"2012-12-13",  
        "time":"16:25:49"  
    },  
    "data7":{  
        "name":"丹麦克朗",  
        "fBuyPri":"108.920",  
        "mBuyPri":"105.550",  
        "fSellPri":"109.790",  
        "mSellPri":"109.790",  
        "bankConversionPri":"109.430",  
        "date":"2012-12-13",  
        "time":"16:25:49"  
    },  
    "data8":{  
        "name":"挪威克朗",  
        "fBuyPri":"110.490",  
        "mBuyPri":"107.080",  
        "fSellPri":"111.380",  
        "mSellPri":"111.380",  
        "bankConversionPri":"111.060",  
        "date":"2012-12-13",  
        "time":"16:25:49"  
    },  
    "data9":{  
        "name":"日元",  
        "fBuyPri":"7.431",  
        "mBuyPri":"7.201",  
        "fSellPri":"7.483",  
        "mSellPri":"7.483",  
        "bankConversionPri":"7.531",  
        "date":"2012-12-13",  
        "time":"16:25:49"  
    },  
    "data10":{  
        "name":"加拿大元",  
        "fBuyPri":"630.950",  
        "mBuyPri":"611.470",  
        "fSellPri":"636.010",  
        "mSellPri":"636.010",  
        "bankConversionPri":"638.800",  
        "date":"2012-12-13",  
        "time":"16:25:49"  
    },  
    "data11":{  
        "name":"澳大利亚元",  
        "fBuyPri":"654.900",  
        "mBuyPri":"634.680",  
        "fSellPri":"660.160",  
        "mSellPri":"660.160",  
        "bankConversionPri":"663.300",  
        "date":"2012-12-13",  
        "time":"16:25:49"  
    },  
    "data12":{  
        "name":"欧元",  
        "fBuyPri":"812.520",  
        "mBuyPri":"787.430",  
        "fSellPri":"819.040",  
        "mSellPri":"819.040",  
        "bankConversionPri":"821.960",  
        "date":"2012-12-13",  
        "time":"16:25:49"  
    },  
    "data13":{  
        "name":"澳门元",  
        "fBuyPri":"77.910",  
        "mBuyPri":"75.300",  
        "fSellPri":"78.210",  
        "mSellPri":"80.720",  
        "bankConversionPri":"78.320",  
        "date":"2012-12-13",  
        "time":"16:25:49"  
    },  
    "data14":{  
        "name":"菲律宾比索",  
        "fBuyPri":"15.100",  
        "mBuyPri":"14.640",  
        "fSellPri":"15.220",  
        "mSellPri":"15.690",  
        "bankConversionPri":"15.220",  
        "date":"2012-12-13",  
        "time":"16:25:49"  
    },  
    "data15":{  
        "name":"泰国铢",  
        "fBuyPri":"20.240",  
        "mBuyPri":"19.620",  
        "fSellPri":"20.400",  
        "mSellPri":"21.030",  
        "bankConversionPri":"20.390",  
        "date":"2012-12-13",  
        "time":"16:25:49"  
    },  
    "data16":{  
        "name":"新西兰元",  
        "fBuyPri":"524.400",  
        "mBuyPri":"0.000",  
        "fSellPri":"528.610",  
        "mSellPri":"0.000",  
        "bankConversionPri":"526.770",  
        "date":"2012-12-13",  
        "time":"16:25:49"  
    },  
    "data17":{  
        "name":"韩国元",  
        "fBuyPri":"0.000",  
        "mBuyPri":"0.560",  
        "fSellPri":"0.000",  
        "mSellPri":"0.608",  
        "bankConversionPri":"0.586",  
        "date":"2012-12-13",  
        "time":"16:25:49"  
    }  
    }  
    ]  
}  

 

外汇汇率

接口地址:http://web.juhe.cn:8080/finance/exchange/frate
支持格式:json
请求方式:get
请求示例:http://web.juhe.cn:8080/finance/exchange/frate?key=您申请的APPKEY

 

请求参数说明:

名称 类型 必填 说明
key String APP Key
type int 两种格式(0或者1,默认为0)

 

JSON返回示例:

{  
        "error_code":0,  
    "resultcode":"200",  
    "reason":"SUCCESSED!",  
    "result":[  
    {  
        "data1":{  
            "code":"JPY",            /*货币代码*/  
            "currency":"美元日元",        /*货币名称*/  
            "closePri":"83.41",        /*最新价*/  
            "diffPer":"0.19%",        /*涨跌%*/  
            "diffAmo":"0.16",        /*涨跌金额*/  
            "openPri":"83.25",        /*开盘价*/  
            "highPic":"83.67",        /*最高价*/  
            "lowPic":"83.1",        /*最低价*/  
            "range":"0.68%",        /*震幅%*/  
            "buyPic":"83.41",        /*买入价*/  
            "sellPic":"83.45",        /*卖出价*/  
            "color":"Red",            /*涨跌颜色*/  
                        "date":"2016-07-29",         /*日期*/  
            "datatime":"08:58:39"        /*数据时间*/  
        },  
        "data2":{  
            "code":"CHF",  
            "currency":"美元瑞郎",  
            "closePri":"0.9241",  
            "diffPer":"0.06%",  
            "diffAmo":"0.0006",  
            "openPri":"0.9234",  
            "highPic":"0.9243",  
            "lowPic":"0.9231",  
            "range":"0.13%",  
            "buyPic":"0.9241",  
            "sellPic":"0.9246",  
            "color":"Red",  
                         "date":"2016-07-29",  
            "datatime":"09:40:54"  
        },  
            ......  
    }  
    ]  
}  

 

示例代码

基于PHP的货币汇率接口调用代码实例

<!--?php  
// +----------------------------------------------------------------------  
// | JuhePHP [ NO ZUO NO DIE ]  
// +----------------------------------------------------------------------  
// | Copyright (c) 2010-2015 http://juhe.cn All rights reserved.  
// +----------------------------------------------------------------------  
// | Author: Juhedata <info@juhe.cn-->  
// +----------------------------------------------------------------------  
   
//----------------------------------  
// 货币汇率调用示例代码 - 聚合数据  
// 在线接口文档:http://www.juhe.cn/docs/23  
//----------------------------------  
   
header('Content-type:text/html;charset=utf-8');  
   
   
//配置您申请的appkey  
$appkey = "*********************";  
   
   
   
   
//************1.人民币牌价************  
$url = "http://web.juhe.cn:8080/finance/exchange/rmbquot";  
$params = array(  
      "key" => $appkey,//APP Key  
      "type" => "",//两种格式(0或者1,默认为0)  
);  
$paramstring = http_build_query($params);  
$content = juhecurl($url,$paramstring);  
$result = json_decode($content,true);  
if($result){  
    if($result['error_code']=='0'){  
        print_r($result);  
    }else{  
        echo $result['error_code'].":".$result['reason'];  
    }  
}else{  
    echo "请求失败";  
}  
//**************************************************  
   
   
   
   
//************2.外汇汇率************  
$url = "http://web.juhe.cn:8080/finance/exchange/frate";  
$params = array(  
      "key" => $appkey,//APP Key  
      "type" => "",//两种格式(0或者1,默认为0)  
);  
$paramstring = http_build_query($params);  
$content = juhecurl($url,$paramstring);  
$result = json_decode($content,true);  
if($result){  
    if($result['error_code']=='0'){  
        print_r($result);  
    }else{  
        echo $result['error_code'].":".$result['reason'];  
    }  
}else{  
    echo "请求失败";  
}  
//**************************************************  
   
   
   
   
   
/**  
 * 请求接口返回内容  
 * @param  string $url [请求的URL地址]  
 * @param  string $params [请求的参数]  
 * @param  int $ipost [是否采用POST形式]  
 * @return  string  
 */  
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;  
} 

 基于JAVA的货币汇率接口调用代码实例

import java.io.BufferedReader;  
import java.io.DataOutputStream;  
import java.io.IOException;  
import java.io.InputStream;  
import java.io.InputStreamReader;  
import java.io.UnsupportedEncodingException;  
import java.net.HttpURLConnection;  
import java.net.URL;  
import java.net.URLEncoder;  
import java.util.HashMap;  
import java.util.Map;  
   
import net.sf.json.JSONObject;  
   
/** 
*货币汇率调用示例代码 - 聚合数据 
*在线接口文档:http://www.juhe.cn/docs/23 
**/  
   
public class JuheDemo {  
    public static final String DEF_CHATSET = "UTF-8";  
    public static final int DEF_CONN_TIMEOUT = 30000;  
    public static final int DEF_READ_TIMEOUT = 30000;  
    public static String userAgent =  "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.66 Safari/537.36";  
   
    //配置您申请的KEY  
    public static final String APPKEY ="*************************";  
   
    //1.人民币牌价  
    public static void getRequest1(){  
        String result =null;  
        String url ="http://web.juhe.cn:8080/finance/exchange/rmbquot";//请求接口地址  
        Map params = new HashMap();//请求参数  
            params.put("key",APPKEY);//APP Key  
            params.put("type","");//两种格式(0或者1,默认为0)  
   
        try {  
            result =net(url, params, "GET");  
            JSONObject object = JSONObject.fromObject(result);  
            if(object.getInt("error_code")==0){  
                System.out.println(object.get("result"));  
            }else{  
                System.out.println(object.get("error_code")+":"+object.get("reason"));  
            }  
        } catch (Exception e) {  
            e.printStackTrace();  
        }  
    }  
   
    //2.外汇汇率  
    public static void getRequest2(){  
        String result =null;  
        String url ="http://web.juhe.cn:8080/finance/exchange/frate";//请求接口地址  
        Map params = new HashMap();//请求参数  
            params.put("key",APPKEY);//APP Key  
            params.put("type","");//两种格式(0或者1,默认为0)  
   
        try {  
            result =net(url, params, "GET");  
            JSONObject object = JSONObject.fromObject(result);  
            if(object.getInt("error_code")==0){  
                System.out.println(object.get("result"));  
            }else{  
                System.out.println(object.get("error_code")+":"+object.get("reason"));  
            }  
        } catch (Exception e) {  
            e.printStackTrace();  
        }  
    }  
   
   
   
    public static void main(String[] args) {  
   
    }  
   
    /** 
     * 
     * @param strUrl 请求地址 
     * @param params 请求参数 
     * @param method 请求方法 
     * @return  网络请求字符串 
     * @throws Exception 
     */  
    public static String net(String strUrl, Map params,String method) throws Exception {  
        HttpURLConnection conn = null;  
        BufferedReader reader = null;  
        String rs = null;  
        try {  
            StringBuffer sb = new StringBuffer();  
            if(method==null || method.equals("GET")){  
                strUrl = strUrl+"?"+urlencode(params);  
            }  
            URL url = new URL(strUrl);  
            conn = (HttpURLConnection) url.openConnection();  
            if(method==null || method.equals("GET")){  
                conn.setRequestMethod("GET");  
            }else{  
                conn.setRequestMethod("POST");  
                conn.setDoOutput(true);  
            }  
            conn.setRequestProperty("User-agent", userAgent);  
            conn.setUseCaches(false);  
            conn.setConnectTimeout(DEF_CONN_TIMEOUT);  
            conn.setReadTimeout(DEF_READ_TIMEOUT);  
            conn.setInstanceFollowRedirects(false);  
            conn.connect();  
            if (params!= null && method.equals("POST")) {  
                try (DataOutputStream out = new DataOutputStream(conn.getOutputStream())) {  
                    out.writeBytes(urlencode(params));  
                }  
            }  
            InputStream is = conn.getInputStream();  
            reader = new BufferedReader(new InputStreamReader(is, DEF_CHATSET));  
            String strRead = null;  
            while ((strRead = reader.readLine()) != null) {  
                sb.append(strRead);  
            }  
            rs = sb.toString();  
        } catch (IOException e) {  
            e.printStackTrace();  
        } finally {  
            if (reader != null) {  
                reader.close();  
            }  
            if (conn != null) {  
                conn.disconnect();  
            }  
        }  
        return rs;  
    }  
   
    //将map型转为请求参数型  
    public static String urlencode(Map<String,Object>data) {  
        StringBuilder sb = new StringBuilder();  
        for (Map.Entry i : data.entrySet()) {  
            try {  
                sb.append(i.getKey()).append("=").append(URLEncoder.encode(i.getValue()+"","UTF-8")).append("&");  
            } catch (UnsupportedEncodingException e) {  
                e.printStackTrace();  
            }  
        }  
        return sb.toString();  
    }  
}  

 

分享到:
评论

相关推荐

    currency-api:具有150多种货币且无汇率限制的免费货币汇率API

    免费货币汇率API 奉上帝的名,引导我去做这项工作 特征: 自由而快速的响应 无费率限制 150多种货币,包括普通的加密货币 每日更新 网址结构: ...

    汇率查询(API)

    在本例中,我们关注的是一个特定的API,即“汇率查询API”,它允许开发者获取实时的货币汇率信息。这个API几乎可以查询所有已知的货币汇率,极大地简化了与货币转换相关的编程任务。 API的使用通常涉及到发送HTTP...

    currrencies:货币汇率API

    如果是这样,则返回具有最新发布日期但在date date之前或date的货币列表。 最后,它回退到具有最新发布日期的所有货币的列表。部署方式服务器设置ssh到服务器中,然后将发布密钥复制到服务器的authorized_key文件中...

    基于java开发的货币汇率查询小程序

    【Java开发货币汇率查询小程序详解】 在信息技术领域,开发一个基于Java的小程序来查询货币汇率是一项常见的任务,它可以帮助用户实时获取不同国家货币之间的兑换比率。这个程序通常涉及到网络请求、数据解析、用户...

    货币汇率转换界面

    在IT行业中,货币汇率转换是一项常见的任务,尤其在金融软件和电子商务平台中。这个"货币汇率转换界面"可能是一个简单的程序或应用,旨在帮助用户计算不同国家货币之间的兑换价值。让我们深入探讨一下这个主题涉及的...

    金融服务-货币汇率-实时查询-金融工具-货币汇率小程序.zip

    本资源提供了一个货币汇率小程序的开发指南和完整源码,该小程序设计用于提供实时的货币汇率信息和汇率转换功能。它支持多种货币之间的快速转换,并提供汇率趋势图,是商旅人士、金融分析师和跨国企业用户的理想选择...

    货币汇率小程序源码.rar

    10. **API调用限制处理**:许多免费的汇率API都有调用次数限制,源码需要合理管理API调用,避免超过限制导致服务中断。 开发者在使用这个源码时,可以根据自己的需求进行定制,例如增加更多货币选项、添加新的功能...

    open-exchange-rates, 开放汇率API免费/开放源代码每小时更新的货币数据.zip

    open-exchange-rates, 开放汇率API免费/开放源代码每小时更新的货币数据 重要更新:Following service的最新变化和改进,现在 Open APP ID signup signup Open Open Open personal personal personal personal ...

    货币汇率自动调整

    在IT行业中,货币汇率自动调整是一项重要的功能,尤其在国际贸易、财务管理或者金融应用程序中,能够实时更新和转换不同货币的价值是至关重要的。本篇将详细探讨这个主题,以帮助理解如何通过编程技术来实现这一功能...

    微信小程序开发-货币汇率案例源码.zip

    在微信小程序开发中,创建一个货币汇率转换的案例是一个实用且常见的练习,它涉及到网络请求、数据处理和用户界面设计等多个关键领域。本案例源码提供了实现这一功能的具体步骤和代码,非常适合学习和参考。 首先,...

    源代码:网站制作货币汇率.rar

    1. **API接口使用**:通常,货币汇率数据会通过外部API(如Open Exchange Rates, Fixer.io或Exchangerate-API)获取。开发者需要熟悉如何发送HTTP请求,接收JSON或其他格式的数据,并解析这些数据以获取最新汇率。 ...

    货币汇率.zip

    本项目“货币汇率.zip”显然与金融和技术领域相关,特别是涉及到微信小程序的开发和货币汇率转换功能的实现。以下将详细阐述相关知识点: 1. **微信小程序**:微信小程序是腾讯公司推出的一种不需要下载安装即可...

    php-currency-api:常用货币汇率API(例如FixerIO,CurrencyLayer,Open Exchange Rates等)的标准化包装

    流行货币汇率API的API包装器不必担心您最喜欢的服务突然关闭或切换到您的计划。 轻松离开。支持的API = fixerio 即将到来= Currencylayer 即将推出= open_exchange_rates 即将推出= json_rates 即将推出= currency_...

    基于微信小程序实现货币汇率程序设计源码分享

    1. 微信小程序的组件,API很强大,需要不断的探索,不断的学习,多看文档 2. 善于利用有效资源, 比如iconfont esay-moc weui等 3. 切页面要细心,善于利用弹性布局等布局方法,小程序的rpx确实很好用 4. 不要一股脑...

    js调用API实时汇率计算器代码

    在这个场景中,我们讨论的是一个使用JS实现的实时汇率计算器,它利用API接口获取最新的货币汇率信息,如美元、欧元和人民币之间的汇率,从而进行货币转换计算。 首先,我们需要理解API(应用程序编程接口)的概念。...

    高仿货币汇率小程序源码.zip

    【标题】"高仿货币汇率小程序源码.zip"所代表的是一个用于开发微信小程序的源代码包,其主要功能是模拟货币汇率查询和转换。在IT行业中,这样的小程序源码通常由前端开发者编写,用于帮助用户实时获取不同国家货币...

    实时汇率:yahoo

    【实时汇率:Yahoo API 使用详解】 实时汇率是全球金融市场的核心元素之一,它涉及到国际贸易、投资、旅游等各个领域。本文将深入探讨如何利用Yahoo提供的API来获取并使用实时汇率数据,以创建一个实用的汇率换算...

    Live_Currency_Rate_Converter:使用在线货币API的货币汇率转换器

    本文将深入探讨如何利用Java编程语言,结合在线货币API,开发一个实时货币汇率转换器——"Live_Currency_Rate_Converter"。这个项目的核心在于获取并处理实时汇率数据,然后提供用户友好的接口进行货币转换。 一、...

    原生微信小程序源码 - -货币汇率

    货币汇率是指不同国家货币之间的兑换比率,用于衡量一种货币相对于另一种货币的价值。在国际贸易和金融市场中,汇率的变动对经济活动有着重要影响。货币汇率分为固定汇率和浮动汇率两种类型。固定汇率是由政府或中央...

Global site tag (gtag.js) - Google Analytics