7

我已经使用 MS Money 好几年了,由于我的“编码兴趣”,很高兴知道从哪里开始学习编写这样一个应用程序的基础知识。最好说:这不是关于如何设计和编写应用程序,而是关于“银行详细信息”。(一开始只显示某个银行账户的金额对我来说是一个愉快的目标。)。

我想用 C++ 或 Java 来做,因为我已经习惯了这些语言。

对于一个爱好项目来说,它会“太大”吗?我对所有安全问题、银行服务器接口/技术等都不太了解。

首先,在“不”之后,我需要一个可靠的学习来源。

4

6 回答 6

9

我使用过的大多数应用程序都读取从银行网站导出的文件,这相对简单。

如果这是您要走的路,您需要编写代码:

  • 通过 HTTPS 登录银行网站下载文件
  • 获取文件格式的规范或对其进行逆向工程
  • 将您选择的任何业务规则应用于结果数据
于 2010-06-28T20:46:26.317 回答
2

在未经银行明确书面许可的情况下尝试以编程方式与银行网站进行交互时,首先要记住的是,这很可能违反了网站使用协议,并且可能会给您带来更多的麻烦。

其次,您不想通过尝试解决如此庞大和敏感的事情来开始“学习”编程。并不是说最终的目标有什么问题,但那是一千个联赛的旅程,您需要迈出第一步。

我想说从一个简单的编程环境开始,比如 python 或 perl。原因,您不必担心链接、库、代码生成等。习惯于您想要在功能上实现的基础知识,下一步将是在 C++ 或 Java 中重新实现。

首先专注于学习客户端-服务器编程。

编写客户端,编写服务器,学习所有关于套接字的知识,学习所有关于 TCP 编程的知识,

然后了解安全套接字层 (SSL) 和传输层安全性 (TLS)。

完成此操作后,尝试切换到 C++ 或 Java,看看是否可以重复该效果。

有大量关于这些主题的教程。

一旦你习惯了,了解哪些工具和库已经可以用来做最常见的事情。例如,libcurl 非常适合创建常见的 Internet 应用程序协议客户端(HTTP、HTTPS、FTP 等)。

看看您是否可以创建一个可以使用 Web 浏览器“登录”的交互式程序,该程序以 XML 格式输出内容并使用级联样式表对其进行格式化。

这应该会带你进入 javascript 世界,那里有 jquery 等强大的工具。如果你正确地混合和匹配这些,你会发现开发会非常有趣并且非常快速。

:-)

旅途愉快。

于 2010-06-29T00:45:57.247 回答
1

您在寻找mint.com的东西吗?根据我对他们的安全政策的理解,他们是这样做的:你给他们你的在线帐户凭据,他们会立即将这些凭据提供给银行,然后取回一个“只读”帐户登录信息。然后,他们会丢弃您提供的凭据,并使用“只读”凭据每 24 小时更新一次您的指标。我不知道他们是怎么做到的,或者他们是否与银行有特殊关系,但这是可能的。

于 2010-06-28T23:52:57.880 回答
1

您可能会查看OFX4J,它是 Open Financial Exchange规范的实现,在此处和@nicerobot 的评论中提到。

于 2010-06-28T23:32:47.163 回答
1

我认为这是一个相当合理的爱好项目;从一个简单的分类帐开始,然后您可以添加功能。

我会做一些事情来开始这样一个项目:

  • 确定初始功能集。一个好的开始可能只是分类帐/帐户之一 - 基本上是平衡支票簿。使其足够通用,以便您可以拥有多个。
  • 设计数据模型。您的分类帐将包含哪些字段?每个值有什么限制?
  • 选择技术。你想用什么语言编程?你将如何持久化数据?你想要什么 GUI - 像 MS Money 这样的胖客户端或 Web 应用程序?

从那里开始,如果有必要,写一些设计说明并开始编码!

于 2010-06-28T20:47:15.070 回答
0

我不认为很多(如果有的话)银行提供api。

瑞典的在线预算应用程序似乎依赖于以某种 excel 格式导出交易,或者只是让您“在银行系统中标记所有交易,然后在文本框中按 ctrl-c 然后按 ctrl-v ”,然后对其进行解析。

于 2010-06-28T20:56:03.953 回答