【发布时间】:2012-07-08 17:00:11
【问题描述】:
我想做的是,
- 从这个网站获取转化率(我选择了xe.com 因为它支持所需的货币 AZN USD)
- 例如,如果可以发送“5 AZN”并获得它等于美元的值。网址如下所示:http://www.xe.com/ucc/convert/?Amount=5&From=AZN&To=USD
我从a blog获取了以下sn-p:
string xeString = String.Format("http://www.xe.com/ucc/convert.cgi?Amount=1&From={0}&To={1}", srcCurrency, dstCurrency);
System.Net.WebRequest wreq = System.Net.WebRequest.Create(new Uri(xeString));
System.Net.WebResponse wresp = wreq.GetResponse();
Stream respstr = wresp.GetResponseStream();
int read = respstr.Read(buf, 0, BUFFER_SIZE);
result = Encoding.ASCII.GetString(buf, 0, read);
现在,这将返回类似XE.com: USD to EUR rate: 1.00 USD = 0.716372 EUR 的内容
问题是:
- 我不知道变量
buf和BUFFER_SIZE是什么。 - 我怎样才能得到准确的结果,例如发送
5 AZN并得到美元的结果(双倍)? http://www.xe.com/ucc/convert/?Amount=5&From=AZN&To=USD
【问题讨论】:
-
我建议忘记
WebRequest/WebResponse;请改用WebClient.DownloadString或WebClient.DownloadStringAsync... -
@codesparkle 你能在代码上展示你的想法吗?
-
看看example on MSDN,这不是火箭科学
-
无论您选择何种方法来检索 html 内容,不要忘记这是非常不可靠的。您无法保证 xe.com 不会重新设计其页面布局,您的整个代码都会失败。您应该考虑寻找提供此类功能的网络服务。
-
考虑使用openexchangerates.org(AZN 应该从明天开始可用,由于“来源不可靠”目前不可用)
标签: c# winforms networking