2009-03-05 30 views
7

Tôi đang xây dựng một tiện ích mà hy vọng sẽ giữ cho vợ tôi phù hợp với số tiền chúng tôi có sẵn.Bạn sẽ làm cách nào để thực hiện một ứng dụng tự động truy lục số dư tài khoản ngân hàng của bạn hai lần một ngày?

Tôi cần một cách đăng nhập an toàn đơn giản vào tài khoản ngân hàng của mình và truy xuất số dư.

Điều gì đó giống như mechanize là phương pháp duy nhất tôi có thể nghĩ đến. Tôi thậm chí không chắc chắn nếu điều đó sẽ làm việc cho https xác thực đúng mà các ngân hàng sử dụng.

Bất kỳ ý tưởng nào?

+0

Bạn có nghĩ là có thể sử dụng hệ thống đã có sẵn (và có nhiều chức năng hơn) chẳng hạn như http://www.mint.com? – TheTXI

+0

Vâng, điều này chắc chắn có một cảm giác sáng tạo-the-wheel cho nó. Hơn nữa, nếu bạn thay đổi ngân hàng hoặc ngân hàng của bạn thay đổi phương pháp đăng nhập của họ, bạn có một gánh nặng bảo trì mã đáng kinh ngạc. – jason

+0

Bạn cũng đang nghĩ về điều này, hay đúng hơn, tôi đã yêu cầu ngân hàng của tôi bật tin nhắn văn bản cho biết số dư thẻ bất cứ khi nào thay đổi. Đó sẽ là tuyệt vời ... –

Trả lời

3

Viết kịch bản perl bằng cách sử dụng LWP::UserAgent. Nó hỗ trợ kết nối HTTPS. Vấn đề duy nhất có thể là nếu trang web yêu cầu javascript.

Web Client Programming with Perl có một vài ví dụ để giúp bạn bắt đầu nếu bạn không quá quen thuộc với perl.

0

Nếu bạn mở cửa cho AIR, tôi muốn nói xây dựng một ứng dụng AIR. Tôi đã làm việc với cơ giới hóa và tôi nghĩ nó thật tuyệt. AIR cung cấp cho bạn các tính năng tương tự với giao diện phong phú hơn (xem HTMLLoader và thao tác DOM của trang web).

Nếu tôi là bạn, tôi chỉ cần kéo trang và thao tác DOM cho phù hợp với nhu cầu trực quan của tôi.

3

Tại sao bạn không dạy cho vợ mình cách đăng nhập vào ngân hàng? Hoặc sử dụng Quicken (hoặc Mint, v.v.) và dạy cô cách sử dụng tính năng tự động tải xuống?

+1

Tôi nghĩ rằng toàn bộ quá trình đăng nhập là những gì anh ta đang cố gắng để loại bỏ để kiểm tra số dư của mình dễ dàng hơn và do đó họ có nhiều khả năng theo dõi tài chính của họ. –

+0

Tôi không thích bất kỳ chương trình nào trong số này. Tất cả đều dựa vào việc tôi theo dõi chi phí của tôi. Sẽ không xảy ra. –

0

Xin vui lòng, nếu bạn thấy điều này dễ làm cho ngân hàng của bạn, vui lòng đăng tên ngân hàng của bạn. Nếu tôi có cùng một tài khoản, tôi sẽ đóng tài khoản của mình.

Thêm vào câu hỏi của bạn. Quá trình tải một trang web bên trong mã của bạn thay vì trong trình duyệt có thể là một nghệ thuật đen, đặc biệt nếu chúng là bất kỳ javascript nào có liên quan. Đặt cược tốt nhất của bạn có thể sẽ nhúng trình duyệt IE Web Browser trong ứng dụng của bạn và sau đó mô phỏng các nét chính và nhấp chuột để đến trang số dư của bạn. Sau đó, loại bỏ HTML cho số dư.

+0

Hầu hết các ngân hàng hỗ trợ bỏ qua một số tính năng bảo mật của họ bằng cách sử dụng cookie an toàn. Nhận một bản sao của cookie đó và thật dễ dàng. Ngay cả khi không có điều này, trừ khi ngân hàng của bạn có CAPTCHA hoặc thử nghiệm nâng cao khác cho mỗi lần đăng nhập, nó có thể dễ dàng được tự động nếu bạn biết thông tin đăng nhập. –

3

Nếu bạn thực sự muốn đến đó, hãy tải các tiện ích mở rộng này cho Firefox: Live HTTP Headers, Firebug, FireCookieHttpFox. Đồng thời tải xuống cURL và một ngôn ngữ kịch bản có thể chạy các tác vụ dòng lệnh cURL (hoặc một ngôn ngữ kịch bản như PHP hoặc Perl có quyền truy cập trực tiếp vào thư viện cURL).

Tôi đã bắt đầu xuống đường này cho một số tác vụ GET không cần thiết như nhận các tệp PDF của S & báo cáo P (của các cổ phiếu tôi theo dõi) từ môi giới trực tuyến của tôi và tải xuống hình ảnh kiểm tra cho tài khoản ngân hàng của tôi. Cả hai tác vụ đều lặp đi lặp lại và làm chậm các cách tải dữ liệu xuống máy tính của tôi rằng các tổ chức tài chính không cung cấp bất kỳ cách nào để làm cho nó dễ dàng hơn.

Dưới đây là lý do tại sao bạn không nên: (như một phím tắt tôi sẽ gọi cho ngân hàng nguyên mẫu lớn, môi giới, hoặc tổ chức tài chính khác "BloatBank")

  1. BloatBank là không có khả năng thực hiện công của họ API để truy cập loại thông tin này. Vì vậy, nó có thể thay đổi bất cứ lúc nào và tất cả các công việc khó khăn của bạn sẽ là vô ích. Bất cứ khi nào họ thay đổi cơ chế của họ, bạn sẽ phải thích nghi.
  2. Nếu BloatBank phát hiện bạn đã sử dụng kịch bản tự động để thử truy cập thông tin tài khoản của bạn, họ có thể cấm bạn vì bạn đã vi phạm điều khoản dịch vụ của họ.
  3. Bạn có thể xáo trộn và tương tác giữa các tập lệnh trên máy chủ của BloatBank và các tập lệnh truy cập vào tài khoản của bạn có thể gây ra Điều xấu giống như đóng tài khoản của bạn. Thử nghiệm loại kịch bản này rất khó khăn vì bạn không có bất kỳ tài liệu nào về cách hoạt động của dịch vụ trực tuyến của họ và bạn không có tài khoản thử nghiệm mà bạn có thể gây rối.
  4. (một biến thể ở trên) Bạn cho rằng bạn an toàn vì bạn đang phát hành yêu cầu GET. Nhưng BloatBank chỉ là một ngân hàng điên rồ mà không biết gì về REST, vì vậy có một số yêu cầu GET có thể làm hỏng tài khoản của bạn.
  5. Nếu người khác sử dụng tập lệnh của bạn để đánh cắp mật khẩu trực tuyến hoặc gây rối với tài khoản của bạn, mọi khoản thanh toán trách nhiệm của BloatBank có thể biến mất vì bạn đã mở một lỗ hổng bảo mật.
0

Tôi có thể thử thanh toán cho Quicken và cho phép tải xuống số dư. Sau đó, tôi chỉ cần tìm một cách để có được số lượng ra khỏi phần mềm tự động.

Bằng cách này, tôi không vi phạm bất kỳ điều khoản dịch vụ nào và tôi cũng giảm rủi ro bảo mật vì tất cả "hack" diễn ra cục bộ.

1

Bạn đã xem Watir chưa? Thật tuyệt vời khi tự động hóa các hành động của trình duyệt web. Và kể từ khi nó được viết bằng Ruby, bạn có thể lấy kết quả và lưu trữ chúng trong một DB (hoặc gửi email cho chính mình) nếu cần thiết.

Các vấn đề liên quan