ING Saldo op Android

Door WeeJeWel op donderdag 24 maart 2011 11:11 - Reacties (45)
Categorie: Android, Views: 7.446

https://ssl.gstatic.com/android/market/net.weejewel.oranjeleeuw/f-0-4750314d42fba0684e3b6b8949041fb4f7726e86

In navolging op mijn script heb ik gisteravond een app voor android in elkaar geknutseld. Het script is geport met behulp van HttpClient als vervanging voor cURL en jsoup als vervanging voor phpQuery.

Alles werkt goed en ik ben benieuwd naar de reacties.

Klik hier voor de applicatie

Net na het uitbrengen werd ik echter gewezen op dit nieuwsbericht, waarin eerdere iPhone apps worden weggehaald. Nu verwacht ik dat ik ook een brief kan ontvangen, maar toch vraag ik me af of ze het recht hebben. Met name handelt Google anders dan Apple, en waar is het merkenrecht van op toepassing? De kleur oranje? Lijkt me toch sterk! De naam ING wordt wel genoemd maar juist in context dat de applicatie onafhankelijk is. Als ING zou willen dat de naam wordt verwijderd doe ik dat graag voor ze :)

Ik laat jullie weten wat er gebeurt!

ING saldo ophalen met PHP

Door WeeJeWel op zaterdag 19 maart 2011 04:00 - Reacties (63)
Categorie: Webshizzle, Views: 18.922

Ik wilde een geeklet maken voor OSX waarbij mijn ING saldo zichtbaar werd op m'n bureaublad.

Zo gezegd, zo gedaan. Het resultaat is hieronder te zien :)


PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
<?php
define('USERNAME', 'foo');
define('PASSWORD', 'bar');

/*** MAGIC STUFF FROM THIS LINE ***/


// Get library

require_once('phpQuery.php');


// Get login names

$curl_login = curl_init();
curl_setopt($curl_login, CURLOPT_URL, 'https://mijn.ing.nl/internetbankieren/SesamLoginServlet');
curl_setopt($curl_login, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl_login, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl_login, CURLOPT_COOKIEJAR, "cookie.txt");
$curl_login_result = curl_exec($curl_login);
curl_close($curl_login);

$doc = phpQuery::newDocument( $curl_login_result );

$input_names = array();
pq('input')->each(function($input){
    global $input_names;
    $input_names[] = pq($input)->attr('name');
});


// Get cookies

$curl_submit = curl_init();
curl_setopt($curl_submit,CURLOPT_URL, 'https://mijn.ing.nl/internetbankieren/SesamLoginServlet');
curl_setopt($curl_submit,CURLOPT_POSTFIELDS, $input_names[0] . '=' . USERNAME . '&' . $input_names[1] . '=' . PASSWORD . '&' . $input_names[2] . '=off');
curl_setopt($curl_submit, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl_submit, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl_submit, CURLOPT_COOKIEFILE, "cookie.txt");
curl_setopt($curl_submit, CURLOPT_COOKIEJAR, "cookie.txt");
$result = curl_exec($curl_submit);
curl_close($curl_submit);


// Let the ING servers do some stuff by simulating a frame-supporting browser request

$urls = array(
    'https://mijn.ing.nl/internetbankieren/jsp/IndexLogon.jsp',
    'https://mijn.ing.nl/internetbankieren/jsp/sesam_cockpit.jsp',
    'https://mijn.ing.nl/mpb/startframes.do',
    'https://mijn.ing.nl/mpb/startpagina.do',
    'https://mijn.ing.nl/mpb/startpaginarekeninginfo.do'
);

foreach( $urls as $url )
{
    $curl_temp = curl_init();
    curl_setopt($curl_temp, CURLOPT_URL, $url );
    curl_setopt($curl_temp, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($curl_temp, CURLINFO_HEADER_OUT, true);
    curl_setopt($curl_temp, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($curl_temp, CURLOPT_COOKIEFILE, "cookie.txt");
    $result = curl_exec($curl_temp);
    curl_close($curl_temp);
}


// Extract balance from last document

$doc = phpQuery::newDocument( $result );


// Print balance

echo 'Saldo: § ' . pq('#giro_0 td[align="right"]')->html();
?>



Als je dit zelf wilt gebruiken, plaats dan phpQuery in dezelfde map en geef deze schrijfrechten (CHMOD 777) voor het cookiebestand.

That's it! Altijd je saldo up to date :)