日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java实时汇率的接口_汇率-免费API,收集所有免费的API

發(fā)布時間:2023/12/19 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java实时汇率的接口_汇率-免费API,收集所有免费的API 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Net;

using System.IO;

using Xfrog.Net;

using System.Diagnostics;

using System.Web;

//----------------------------------

// 匯率調(diào)用示例代碼 - 聚合數(shù)據(jù)

// 在線接口文檔:http://www.juhe.cn/docs/80

// 代碼中JsonObject類下載地址:http://download.csdn.net/download/gcm3206021155665/7458439

//----------------------------------

namespace ConsoleAPI

{

class Program

{

static void Main(string[] args)

{

string appkey = "*******************"; //配置您申請的appkey

//1.常用匯率查詢

string url1 = "http://op.juhe.cn/onebox/exchange/query";

var parameters1 = new Dictionary();

parameters1.Add("key", appkey);//你申請的key

string result1 = sendPost(url1, parameters1, "get");

JsonObject newObj1 = new JsonObject(result1);

String errorCode1 = newObj1["error_code"].Value;

if (errorCode1 == "0")

{

Debug.WriteLine("成功");

Debug.WriteLine(newObj1);

}

else

{

//Debug.WriteLine("失敗");

Debug.WriteLine(newObj1["error_code"].Value+":"+newObj1["reason"].Value);

}

//2.貨幣列表

string url2 = "http://op.juhe.cn/onebox/exchange/list";

var parameters2 = new Dictionary();

parameters2.Add("key", appkey);//你申請的key

string result2 = sendPost(url2, parameters2, "get");

JsonObject newObj2 = new JsonObject(result2);

String errorCode2 = newObj2["error_code"].Value;

if (errorCode2 == "0")

{

Debug.WriteLine("成功");

Debug.WriteLine(newObj2);

}

else

{

//Debug.WriteLine("失敗");

Debug.WriteLine(newObj2["error_code"].Value+":"+newObj2["reason"].Value);

}

//3.實時匯率查詢換算

string url3 = "http://op.juhe.cn/onebox/exchange/currency";

var parameters3 = new Dictionary();

parameters3.Add("from" , ""); //轉(zhuǎn)換匯率前的貨幣代碼

parameters3.Add("to" , ""); //轉(zhuǎn)換匯率成的貨幣代碼

parameters3.Add("key", appkey);//你申請的key

string result3 = sendPost(url3, parameters3, "get");

JsonObject newObj3 = new JsonObject(result3);

String errorCode3 = newObj3["error_code"].Value;

if (errorCode3 == "0")

{

Debug.WriteLine("成功");

Debug.WriteLine(newObj3);

}

else

{

//Debug.WriteLine("失敗");

Debug.WriteLine(newObj3["error_code"].Value+":"+newObj3["reason"].Value);

}

}

///

/// Http (GET/POST)

///

/// 請求URL

/// 請求參數(shù)

/// 請求方法

/// 響應內(nèi)容

static string sendPost(string url, IDictionary parameters, string method)

{

if (method.ToLower() == "post")

{

HttpWebRequest req = null;

HttpWebResponse rsp = null;

System.IO.Stream reqStream = null;

try

{

req = (HttpWebRequest)WebRequest.Create(url);

req.Method = method;

req.KeepAlive = false;

req.ProtocolVersion = HttpVersion.Version10;

req.Timeout = 5000;

req.ContentType = "application/x-www-form-urlencoded;charset=utf-8";

byte[] postData = Encoding.UTF8.GetBytes(BuildQuery(parameters, "utf8"));

reqStream = req.GetRequestStream();

reqStream.Write(postData, 0, postData.Length);

rsp = (HttpWebResponse)req.GetResponse();

Encoding encoding = Encoding.GetEncoding(rsp.CharacterSet);

return GetResponseAsString(rsp, encoding);

}

catch (Exception ex)

{

return ex.Message;

}

finally

{

if (reqStream != null) reqStream.Close();

if (rsp != null) rsp.Close();

}

}

else

{

//創(chuàng)建請求

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url + "?" + BuildQuery(parameters, "utf8"));

//GET請求

request.Method = "GET";

request.ReadWriteTimeout = 5000;

request.ContentType = "text/html;charset=UTF-8";

HttpWebResponse response = (HttpWebResponse)request.GetResponse();

Stream myResponseStream = response.GetResponseStream();

StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"));

//返回內(nèi)容

string retString = myStreamReader.ReadToEnd();

return retString;

}

}

///

/// 組裝普通文本請求參數(shù)。

///

/// Key-Value形式請求參數(shù)字典

/// URL編碼后的請求數(shù)據(jù)

static string BuildQuery(IDictionary parameters, string encode)

{

StringBuilder postData = new StringBuilder();

bool hasParam = false;

IEnumerator> dem = parameters.GetEnumerator();

while (dem.MoveNext())

{

string name = dem.Current.Key;

string value = dem.Current.Value;

// 忽略參數(shù)名或參數(shù)值為空的參數(shù)

if (!string.IsNullOrEmpty(name))//&& !string.IsNullOrEmpty(value)

{

if (hasParam)

{

postData.Append("&");

}

postData.Append(name);

postData.Append("=");

if (encode == "gb2312")

{

postData.Append(HttpUtility.UrlEncode(value, Encoding.GetEncoding("gb2312")));

}

else if (encode == "utf8")

{

postData.Append(HttpUtility.UrlEncode(value, Encoding.UTF8));

}

else

{

postData.Append(value);

}

hasParam = true;

}

}

return postData.ToString();

}

///

/// 把響應流轉(zhuǎn)換為文本。

///

/// 響應流對象

/// 編碼方式

/// 響應文本

static string GetResponseAsString(HttpWebResponse rsp, Encoding encoding)

{

System.IO.Stream stream = null;

StreamReader reader = null;

try

{

// 以字符流的方式讀取HTTP響應

stream = rsp.GetResponseStream();

reader = new StreamReader(stream, encoding);

return reader.ReadToEnd();

}

finally

{

// 釋放資源

if (reader != null) reader.Close();

if (stream != null) stream.Close();

if (rsp != null) rsp.Close();

}

}

}

}

總結(jié)

以上是生活随笔為你收集整理的java实时汇率的接口_汇率-免费API,收集所有免费的API的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。