Network Security Internet Technology Development Database Servers Mobile Phone Android Software Apple Software Computer Software News IT Information

In addition to Weibo, there is also WeChat

Please pay attention

WeChat public account

Shulou

How to achieve free currency exchange rate API

2025-03-28 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Development >

Share

Shulou(Shulou.com)06/03 Report--

This article focuses on "how to achieve free currency exchange rate API", interested friends may wish to take a look. The method introduced in this paper is simple, fast and practical. Let the editor take you to learn "how to achieve free currency exchange rate API"!

Example returned by JSON:

{"resultcode": "200,200", "reason": "SUCCESSED!", "result": [{"data1": {"name": "sterling", / * currency name * / "fBuyPri": "1001.430", / * spot purchase price * / "mBuyPri": "970.510" / * Cash selling price * / "fSellPri": "1009.480", / * Cash selling price * / "mSellPri": "1009.480", / * Cash selling price * / "bankConversionPri": "1014.870" / * Bank conversion price / midpoint * / "date": "2012-12-13", / * issue date * / "time": "16:25:49" / * issue time * /}, "data2": {"name": "Hong Kong dollars", "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": "USD", "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": "CHF", "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": "Singapore dollar", "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": "Swedish crown", "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": "DKK", "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": "Norwegian kroner", "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": "yen", "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": "Canadian dollar", "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": "Australian dollar", "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": "euro", "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": "mop", "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": "Philippines peso", "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": "Thai baht", "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": "New Zealand dollar", "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": "won", "fBuyPri": "0.000" "mBuyPri": "0.560", "fSellPri": "0.000", "mSellPri": "0.608", "bankConversionPri": "0.586", "date": "2012-12-13", "time": "16:25:49"}]}

Foreign exchange rate API address: http://web.juhe.cn:8080/finance/exchange/frate support format: json request method: get request example: http://web.juhe.cn:8080/finance/exchange/frate?key= the APPKEY request parameter description you applied for:

Example returned by JSON:

{"error_code": 0, "resultcode": "200"," reason ":" SUCCESSED! "," result ": [{" data1 ": {" code ":" JPY ", / * currency code * /" currency ":" US dollar and Japanese yen ", / * currency name * /" closePri ":" 83.41 " / * latest price * / "diffPer": "0.19%", / * up or down% * / "diffAmo": "0.16", / * amount of change * / "openPri": "83.25", / * opening price * / "highPic": "83.67" / * maximum price * / "lowPic": "83.1", / * lowest price * / "range": "0.68%", / * amplitude% * / "buyPic": "83.41", / * purchase price * / "sellPic": "83.45" / * Sale price * / "color": "Red", / * rise and fall color * / "date": "2016-07-29", / * date * / "datatime": "08:58:39" / * data time * /}, "data2": {"code": "CHF" "currency": "US Dollar Swiss franc", "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}. }]}

Sample code based on php currency exchange rate interface call code example

/ / the currency exchange rate call shows Example code-aggregate data / / online interface document: http://www.juhe.cn/docs/23//---------------------------------- header ('Content-type:text/html Charset=utf-8'); / / configure the appkey$appkey you applied for = "*"; / / * 1. RMB exchange rate * $url = "http://web.juhe.cn:8080/finance/exchange/rmbquot";$params = array (" key "= > $appkey,//APP Key" type "= >", / / two formats (0 or 1, default is 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 "request failed" } / / * / * 2. Foreign exchange rate * $url = "http://web.juhe.cn:8080/finance/exchange/frate";$params = array (" key "= > $appkey,//APP Key" type "= >", / / both formats (0 or 1, default is 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 "request failed" } / / * / * request API returns content * @ param string $url [requested URL address] * @ param string $params [requested parameters] * @ param int $ipost [whether to use POST form] * @ 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;}

An example of calling Code of currency Exchange rate Interface based on Python

#! / usr/bin/python#-*-coding: utf-8-*-import json Urllibfrom urllib import urlencode #-- # sample code for currency exchange rate call-aggregate data # online interface document: http://www.juhe.cn/docs/23#---------------------------------- def main (): # configure the APPKey appkey you applied for = "*" # 1. RMB exchange rate request1 (appkey, "GET") # 2. Foreign exchange rate request2 (appkey, "GET") # RMB def request1 (appkey, m = "GET"): url = "http://web.juhe.cn:8080/finance/exchange/rmbquot" params = {" key ": appkey, # APP Key" type ":", # two formats (0 or 1) Default is 0)} params = urlencode (params) if m = = "GET": F = urllib.urlopen ("% slots% s"% (url, params)) else: F = urllib.urlopen (url) Params) content = f.read () res = json.loads (content) if res: error_code = res ["error_code"] if error_code = 0: # successful request print res ["result"] else: print "% slug% s"% (res ["error_code"] Res ["reason"]) else: print "request api error" # def request2 (appkey, m = "GET"): url = "http://web.juhe.cn:8080/finance/exchange/frate" params = {" key ": appkey, # APP Key" type ":", # two formats (0 or 1) Default is 0)} params = urlencode (params) if m = = "GET": F = urllib.urlopen ("% slots% s"% (url, params)) else: F = urllib.urlopen (url) Params) content = f.read () res = json.loads (content) if res: error_code = res ["error_code"] if error_code = 0: # successful request print res ["result"] else: print "% slug% s"% (res ["error_code"] Res ["reason"]) else: print "request api error" if _ _ name__ = ='_ main__': main ()

An example of calling Code of currency Exchange rate Interface based on 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 / * sample code for currency exchange rate call-aggregate data * online interface document: 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"; / / configure the KEY public static final String APPKEY you applied for = "*"; / / 1. RMB price public static void getRequest1 () {String result = null; String url = "http://web.juhe.cn:8080/finance/exchange/rmbquot";// request interface address Map params = new HashMap (); / / request parameter params.put (" key ", APPKEY); / / APP Key params.put (" type ",") / / two formats (0 or 1, default is 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. Foreign exchange rate public static void getRequest2 () {String result = null; String url = "http://web.juhe.cn:8080/finance/exchange/frate";// request interface address Map params = new HashMap (); / / request parameter params.put (" key ", APPKEY); / / APP Key params.put (" type ",") / / two formats (0 or 1, default is 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 request address * @ param params request Parameter * @ param method request method * @ return Network request string * @ 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 (paramsfolk = 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 } / / convert map type to request parameter type public static String urlencode (Mapdata) {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 ();}} at this point, I believe you have a deeper understanding of "how to achieve free currency exchange rate API". You might as well do it in practice! Here is the website, more related content can enter the relevant channels to inquire, follow us, continue to learn!

Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.

Views: 0

*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.

Share To

Development

Wechat

© 2024 shulou.com SLNews company. All rights reserved.

12
Report