雅虎金融 api_使用PHP和Yahoo!获得货币汇率 金融CSV API

本文介绍如何利用Yahoo Finance的CSV API轻松获取货币汇率,包括解析URL、理解返回格式,以及构建PHP解决方案,该解决方案可以按需查询多种货币、转换基础货币和目标货币,同时提供以关联数组或标准类对象输出结果的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

雅虎金融 api

I imagine that there are some, like me, who require a way of getting currency exchange rates for implementation in web project from time to time, so I thought I would share a solution that I have developed for this purpose.

我想像我一样,有些人需要一种获取货币汇率的方式,以便在Web项目中不时实施,因此我想我将分享为此目的开发的解决方案。

It turns out that Yahoo! Finance has a CSV API that makes it very easy to get currency exchange rates (and stock quotes) in CSV format by using a URL like this one (and it’s FREE!):

事实证明,雅虎! Finance有一个CSV API ,通过使用这样的URL(免费!),可以非常轻松地以CSV格式获取货币汇率(和股票报价):

http://finance.yahoo.com/d/quotes.csv?s=XCDUSD=X&f=sl1d1t1

This will tell us the last conversion rate for Eastern Caribbean Dollars (XCD) to United States Dollars (USD). At this point it would be useful to learn about currency codes.

这将告诉我们最后一次东加勒比元(XCD)转换为美元(USD)的汇率。 此时, 了解货币代码将很有用。

Breaking down the URL

分解URL

To begin, let’s try to understand the Yahoo! Finance URL.

首先,让我们尝试了解Yahoo! 财务网址。

URL Start

http://finance.yahoo.com/d/quotes.csv?s=

Lookup values (or stock symbols)

XCDUSD=X

The first three letters here indicate the currency you are converting from, the next three indicate the currency you are converting to, and ‘=X’ presumably says you are querying an exchange rate. That said, if you want to query multiple rates you could enter comma separated values like this:

此处的前三个字母表示要转换的货币,后三个字母表示要转换的货币,“ = X”大概表示您正在查询汇率。 也就是说,如果您要查询多个汇率,可以输入逗号分隔的值,如下所示:

XCDUSD=X,XCDGBP=X,XCDEUR=X

Result Format

&f=sl1d1t1

This part suggests the format or the fields that should be returned in the data. Let’s describe each part in turn.

这部分建议应在数据中返回的格式或字段。 让我们依次描述每个部分。

s       =       the Symbol (lookup value) queried.

s =查询的符号(查找值)。

l1      =       the last exchange value

l1 =最后的交换值

d1      =       the last exchange date

d1 =最后交易日期

t1       =       the last exchange time

t1 =最后的交换时间

Up to this point you should be able to download a CSV file with the data you desire, and use it that way in some solutions. But here our objective is to demonstrate how to read that data using PHP and return it as an array or a standard class objects.

到目前为止,您应该能够下载包含所需数据的CSV文件,并在某些解决方案中以这种方式使用它。 但是这里我们的目的是演示如何使用PHP读取数据并将其作为数组或标准类对象返回。

Building the PHP Solution

构建PHP解决方案

Our objective is to develop a solution that would offer the following options:

我们的目标是开发一种解决方案,提供以下选项:

1.      Lookup or query multiple currencies

1.查找或查询多种货币

2.      Convert a single ‘base’ currency to multiple ‘t

<option value="AED">United Arab Emirates Dirham (AED)</option> <option value="ANG">Netherlands Antillean Guilder (ANG)</option> <option value="ARS">Argentine Peso (ARS)</option> <option value="AUD">Australian Dollar (AUD)</option> <option value="BDT">Bangladeshi Taka (BDT)</option> <option value="BGN">Bulgarian Lev (BGN)</option> <option value="BHD">Bahraini Dinar (BHD)</option> <option value="BND">Brunei Dollar (BND)</option> <option value="BOB">Bolivian Boliviano (BOB)</option> <option value="BRL">Brazilian Real (BRL)</option> <option value="BWP">Botswanan Pula (BWP)</option> <option value="CAD">Canadian Dollar (CAD)</option> <option value="CHF">Swiss Franc (CHF)</option> <option value="CLP">Chilean Peso (CLP)</option> <option value="CNY">Chinese Yuan (CNY)</option> <option value="COP">Colombian Peso (COP)</option> <option value="CRC">Costa Rican Colón (CRC)</option> <option value="CZK">Czech Republic Koruna (CZK)</option> <option value="DKK">Danish Krone (DKK)</option> <option value="DOP">Dominican Peso (DOP)</option> <option value="DZD">Algerian Dinar (DZD)</option> <option value="EEK">Estonian Kroon (EEK)</option> <option value="EGP">Egyptian Pound (EGP)</option> <option value="EUR">Euro (EUR)</option> <option value="FJD">Fijian Dollar (FJD)</option> <option value="GBP">British Pound Sterling (GBP)</option> <option value="HKD">Hong Kong Dollar (HKD)</option> <option value="HNL">Honduran Lempira (HNL)</option> <option value="HRK">Croatian Kuna (HRK)</option> <option value="HUF">Hungarian Forint (HUF)</option> <option value="IDR">Indonesian Rupiah (IDR)</option> <option value="ILS">Israeli New Sheqel (ILS)</option> <option value="INR">Indian Rupee (INR)</option> <option value="JMD">Jamaican Dollar (JMD)</option> <option value="JOD">Jordanian Dinar (JOD)</option> <option value="JPY">Japanese Yen (JPY)</option> <option value="KES">Kenyan Shilling (KES)</option> <option value="KRW">South Korean Won (KRW)</option> <option value="KWD">Kuwaiti Dinar (KWD)</option> <option value="KYD">Cayman Islands Dollar (KYD)</option> <option value="KZT">Kazakhstani Tenge (KZT)</option> <option value="LBP">Lebanese Pound (LBP)</option> <option value="LKR">Sri Lankan Rupee (LKR)</option> <option value="LTL">Lithuanian Litas (LTL)</option> <option value="LVL">Latvian Lats (LVL)</option> <option value="MAD">Moroccan Dirham (MAD)</option> <option value="MDL">Moldovan Leu (MDL)</option> <option value="MKD">Macedonian Denar (MKD)</option> <option value="MUR">Mauritian Rupee (MUR)</option> <option value="MVR">Maldivian Rufiyaa (MVR)</option> <option value="MXN">Mexican Peso (MXN)</option> <option value="MYR">Malaysian Ringgit (MYR)</option> <option value="NAD">Namibian Dollar (NAD)</option> <option value="NGN">Nigerian Naira (NGN)</option> <option value="NIO">Nicaraguan Córdoba (NIO)</option> <option value="NOK">Norwegian Krone (NOK)</option> <option value="NPR">Nepalese Rupee (NPR)</option> <option value="NZD">New Zealand Dollar (NZD)</option> <option value="OMR">Omani Rial (OMR)</option> <option value="PEN">Peruvian Nuevo Sol (PEN)</option> <option value="PGK">Papua New Guinean Kina (PGK)</option> <option value="PHP">Philippine Peso (PHP)</option> <option value="PKR">Pakistani Rupee (PKR)</option> <option value="PLN">Polish Zloty (PLN)</option> <option value="PYG">Paraguayan Guarani (PYG)</option> <option value="QAR">Qatari Rial (QAR)</option> <option value="RON">Romanian Leu (RON)</option> <option value="RSD">Serbian Dinar (RSD)</option> <option value="RUB">Russian Ruble (RUB)</option> <option value="SAR">Saudi Riyal (SAR)</option> <option value="SCR">Seychellois Rupee (SCR)</option> <option value="SEK">Swedish Krona (SEK)</option> <option value="SGD">Singapore Dollar (SGD)</option> <option value="SKK">Slovak Koruna (SKK)</option> <option value="SLL">Sierra Leonean Leone (SLL)</option>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值