百摩网
当前位置: 首页 生活百科

今日俄罗斯黄金期货(JavaHttpClient获取黄金价格数据)

时间:2023-08-03 作者: 小编 阅读量: 1 栏目名: 生活百科

黄金价格数据APIAPI提供方:https://www.nowapi.com/国际金价实时(盎司):https://www.nowapi.com/api/finance.gsgold国际金价实时(盎司)作用:查询上海黄金交易所黄金价格、国际公制金价、国际贵金属期货价、工行纸黄金等。测试示例:http://api.k780.com/?app=finance.gold_price&goldid=120

黄金价格数据API

API提供方:https://www.nowapi.com/

国际金价实时(盎司):https://www.nowapi.com/api/finance.gsgold

国际金价实时(盎司)

作用:查询上海黄金交易所黄金价格、国际公制金价、国际贵金属期货价、工行纸黄金等。

测试示例: http://api.k780.com/?app=finance.gold_price&goldid=1201&appkey=10003&sign=b59bc3ef6191eb9f747dd4e83c99f2a4&format=JSON (示例中sign会不定期调整)

调用参数:

返回格式:

{"result": {"dtList": {"1201": {"sell_price": "1716.73","high_price": "1719.2","goldid": "1201","uptime": "2022-07-22 13:58:01","varietynm": "现货黄金","variety": "XAU","change_margin": "-0.14%","yesy_price": "1718.65","buy_price": "1716.3","change_price": "-2.35","open_price": "1717.84","low_price": "1712.77","last_price": "1716.3"}},"dtQuery": "1201","dtCount": "1"},"success": "1"}

调用代码案例

pom.xml

<dependencies><dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.5.9</version></dependency><dependency><groupId>org.apache.httpcomponents.client5</groupId><artifactId>httpclient5</artifactId><version>5.1</version></dependency><dependency><groupId>org.apache.httpcomponents.client5</groupId><artifactId>httpclient5-fluent</artifactId><version>5.0.3</version></dependency></dependencies>

调用方式1:

import org.apache.commons.codec.Charsets;import org.apache.hc.client5.http.classic.methods.HttpPost;import org.apache.hc.client5.http.entity.UrlEncodedFormEntity;import org.apache.hc.client5.http.impl.classic.CloseableHttpClient;import org.apache.hc.client5.http.impl.classic.CloseableHttpResponse;import org.apache.hc.client5.http.impl.classic.HttpClients;import org.apache.hc.core5.http.HttpEntity;import org.apache.hc.core5.http.NameValuePair;import org.apache.hc.core5.http.io.entity.EntityUtils;import org.apache.hc.core5.http.message.BasicNameValuePair;import java.util.ArrayList;import java.util.List;public class HttpClientClassicApp {public static void main(String[] args) throws Exception {CloseableHttpClient httpClient = HttpClients.createDefault();HttpPost httpPost = new HttpPost("http://api.k780.com/");List<NameValuePair> nvps = new ArrayList<>();nvps.add(new BasicNameValuePair("app", "finance.gold_price"));nvps.add(new BasicNameValuePair("goldid", "1201"));nvps.add(new BasicNameValuePair("appkey", "10003"));nvps.add(new BasicNameValuePair("sign", "b59bc3ef6191eb9f747dd4e83c99f2a4"));nvps.add(new BasicNameValuePair("format", "json"));httpPost.setEntity(new UrlEncodedFormEntity(nvps, Charsets.UTF_8));CloseableHttpResponse response = httpClient.execute(httpPost);System.out.println(response.getCode()" "response.getReasonPhrase());HttpEntity entity = response.getEntity();String content = EntityUtils.toString(entity);System.out.println(content);EntityUtils.consume(entity);}}

调用方式2:

import cn.hutool.json.JSONObject;import cn.hutool.json.JSONUtil;import org.apache.hc.client5.http.async.methods.*;import org.apache.hc.client5.http.config.requestConfig;import org.apache.hc.client5.http.impl.async.CloseableHttpAsyncClient;import org.apache.hc.client5.http.impl.async.HttpAsyncClients;import org.apache.hc.client5.http.impl.nio.PoolingAsyncClientConnectionManager;import org.apache.hc.client5.http.impl.nio.PoolingAsyncClientConnectionManagerBuilder;import org.apache.hc.core5.concurrent.FutureCallback;import org.apache.hc.core5.http.Method;import org.apache.hc.core5.http.message.StatusLine;import org.apache.hc.core5.pool.PoolConcurrencyPolicy;import org.apache.hc.core5.reactor.IOReactorConfig;import org.apache.hc.core5.util.TimeValue;import org.apache.hc.core5.util.Timeout;import java.util.concurrent.Future;import java.util.concurrent.TimeUnit;public class HttpClient5App {public static void main(String[] args) {// 异步应用配置IOReactorConfig ioReactorConfig = IOReactorConfig.custom().setSoTimeout(Timeout.ofMilliseconds(250))// 超时时间.setSelectInterval(TimeValue.ofMilliseconds(50))// 1.2.build();// setSoTimeout()====>连接上一个url,获取response的返回等待时间// setSelectInterval()====>NIO中设置select的间隔// 客户端连接配置PoolingAsyncClientConnectionManager build = PoolingAsyncClientConnectionManagerBuilder.create().setPoolConcurrencyPolicy(PoolConcurrencyPolicy.LAX)// 2.1.setMaxConnPerRoute(6).build();// 2.2// poolConcurrencyPolicy() ====> STRICT模式通过加锁的方式对,LAX通过cas的方式宽松计数// 设置STRICT,会使用StrictConnPool实现类;设置LAX ,会使用LaxConnPool实现类// maxConnPerRoute ====> 每个route最多能有多少个connection// 创建客户端CloseableHttpAsyncClient client = HttpAsyncClients.custom().setIOReactorConfig(ioReactorConfig).setConnectionManager(build).disableAutomaticRetries().build();// automaticRetriesDisabled===>关闭自动重试client.start();String uri = "http://api.k780.com/";SimpleHttpRequest httpRequest = SimpleHttpRequest.create(Method.GET.name(), uri);final SimpleHttpRequest request = SimpleRequestBuilder.copy(httpRequest).addParameter("app", "finance.gold_price").addParameter("goldid", "1201").addParameter("appkey", "10003").addParameter("sign", "b59bc3ef6191eb9f747dd4e83c99f2a4").addParameter("format", "json").build();request.setHeader("Host", "api.k780.com");RequestConfig config = RequestConfig.copy(RequestConfig.DEFAULT).setConnectTimeout(150, TimeUnit.MILLISECONDS).setConnectionRequestTimeout(200, TimeUnit.MILLISECONDS).setResponseTimeout(100, TimeUnit.MILLISECONDS).build();request.setConfig(config);long start = System.currentTimeMillis();final Future<SimpleHttpResponse> future = client.execute(SimpleRequestProducer.create(request),SimpleResponseConsumer.create(),new FutureCallback<SimpleHttpResponse>() {@Overridepublic void completed(final SimpleHttpResponse response) {System.out.println(request"->"new StatusLine(response));System.out.println(response.getBody());}@Overridepublic void failed(final Exception ex) {System.out.println(request"->"ex);}@Overridepublic void cancelled() {System.out.println(request" cancelled");}});// 时间计算try {SimpleHttpResponse simpleHttpResponse = future.get();JSONObject jsonObject = JSONUtil.parseObj(simpleHttpResponse.getBodyText());System.out.println("body="jsonObject);long end = System.currentTimeMillis();System.out.println("时间差:"(end - start));} catch (Exception e) {long end = System.currentTimeMillis();System.out.println("时间差:"(end - start));System.out.println(e);}// 线程等待try {Thread.sleep(10000);} catch (InterruptedException e) {e.printStackTrace();}}}

    推荐阅读
  • dna软体材料(DNA和肥皂有什么关系)

    而如果一旦如此,那么细胞将无法制造蛋白质和增殖。不幸的是,在某些癌细胞中这些蛋白质含量可能过多,而当这些蛋白质高效地解开缠结时,它们的增殖速度会异常地快。不过,这些药物会产生一些严重的副作用,因为拓扑异构酶蛋白在普通的健康细胞中也起着至关重要的作用。然而,自然界需要蛋白质对DNA进行拓扑改造并同时保持原始信息完整。在同种蛋白质的作用下,前两个过程是可逆的,其他的则不是。

  • 成语换骨脱胎是什么意思(成语换骨脱胎意思是什么)

    跟着小编一起来看一看吧!成语换骨脱胎是什么意思换骨脱胎,汉语成语,拼音是huàngǔtuōtāi,意思是现比喻通过教育,思想得到彻底改造。指修道者得道以后,就转凡胎为圣胎,换凡骨为仙骨。

  • 七不葬父八不葬母的传说(俗语七不葬父)

    中国民间流传着很多丧葬的习俗,其中有一条是关于父母去世后的一些讲究,也就是“七不葬父,八不葬母”。根据古书典籍中的记载以及《易经》中的一些内容得知,在中国的数字中,从一到十都有着特殊的含义。圆坟和七七最为首尾两件大事,家中的儿子必须要参加。还有烧周年仪式也是非常常见的,一般是一周年、三周年、五周年和七周年、十周年,这和之前提到的阳数也是有关联的。

  • 考研旱区和水区是什么意思(考研水区和)

    前者判卷宽松,被称为“水区”,后者判卷严格,被称为“旱区”。因此在考研前,考生必须要了解“水区”和“旱区”。出现“水区”和“旱区”的原因出现这两种不同区域的原因,主要和当地的考试政策以及考生的质量有关。这样一来,北京等热门地区就成为了“旱区”。报考“旱区”,意味着上岸难度提升。但是“水区”大多是偏远地区,“旱区”则是东部发达地区。

  • 仔猪呕吐怎么办(仔猪呕吐,吐了还吃咋回事)

    一旦发现就要及时采取措施,不然很容易使病情恶化甚至死亡。

  • 如何去肥胖纹和生长纹(真没想到去肥胖纹这么简单)

    有肥胖纹的姐妹!看到好多姐妹都有肥胖纹这个困扰也说说自己试过之后的感受试了一个月,虽然没有完全去掉但是也是淡化了许多就是先用生理盐水擦一下有纹的地方周围也都擦一下,然后就可以用滚针gun滚的时候多换几个方向滚完之后等皮肤恢复一两天就开始坚持天天涂修复霜涂在纹路上按摩至吸收就可以了#肥胖纹

  • 开车犯困用风油精管用吗(开车跑高速容易犯困)

    开车跑高速容易犯困​很多人开长途之前,都会喝瓶红牛提提神,其实预防疲劳驾驶的最好办法,还是把睡意扼杀在摇篮里最简单的办法就是:喝点白开水缺水情况下,驾驶的危险程度和酒驾其实是不相上下的适时补充水分,可以保持注意力缺水驾。

  • 广安划归重庆吗(为什么没有划入达州)

    事实上,川东北地区划入重庆,的确是当年诸多方案之一。总设计师当即提出,可以将四川一分为二,把成都、重庆分别作为中心城市。二是重庆成立直辖市,除现在的重庆直辖市全部区县外,还纳入广安、达川、南充。但这些地区有很多贫困县,且人口过多,有2000多万。重庆直辖前的地图第四个方案就是现今的重庆直辖市,纳入万州、涪陵、黔江。重庆直辖后区划图从上述四套方案可以看出,现今的重庆直辖方案应该是最优解。

  • 一汽丰田厂商(一汽丰田厂商投诉有用吗)

    2003年9月,正式更名为“天津一汽丰田汽车有限公司”。公司注册资本为33亿元人民币,注册于天津经济技术开发区,现有员工7000余人。2002年10月天津一汽丰田的第一款产品——“威驰”轿车顺利下线,在国内汽车市场上迈出了历史性的一步。2005年10月24日,“锐志”轿车正式下线,这标志着天津一汽丰田产品战略布局的初步完成,一汽集团与丰田公司的合作,正式进入全面发展时期

  • 蒸肉条的方法 蒸肉条的方法和做法

    2、牛肉洗净,放人开水锅中煮至八成熟,捞出切成适当的长条,码在汤盘内;葱切丝;姜切片。