ammarfaizi2 / KlikBCA

KlikBCA Scraper
GNU General Public License v2.0
79 stars 25 forks source link

Tidak bekerja sama sekali sekarang (sebelumnya hanya tidak bekerja pada hari Senin) #6

Open g00m00nry0ng opened 1 year ago

g00m00nry0ng commented 1 year ago

Ada yg sama? saya coba cron cek mutasi per 30 menit dan ternyata script tidak bekerja pada jam tsb. Saya coba akses manual https://m.klikbca.com dan semua proses tetap normal, tapi kalau melalui script ini tidak jalan.

ammarfaizi2 commented 1 year ago

tapi kalau melalui script ini tidak jalan.

Ketika "tidak jalan" pesan errornya apa? Apa yang terjadi di scriptnya?

g00m00nry0ng commented 1 year ago

tapi kalau melalui script ini tidak jalan.

Ketika "tidak jalan" pesan errornya apa? Apa yang terjadi di scriptnya?

Wah iya saya ga cek error message nya, cron saya cuma meng echo return dari function accountStatement, jadi pas error itu echo nya NULL. Coba nanti saya ganti jadi echo $err ya Mas, jadi pas jam tsb bisa keliatan apa errornya

g00m00nry0ng commented 1 year ago

tapi kalau melalui script ini tidak jalan.

Ketika "tidak jalan" pesan errornya apa? Apa yang terjadi di scriptnya?

error dek saldo sbb: Cannot find appropriate tags (1)

error cek mutasi sbb: Cannot find table on the account statement page

ammarfaizi2 commented 1 year ago

error dek saldo sbb: Cannot find appropriate tags (1)

error cek mutasi sbb: Cannot find table on the account statement page

Ini berarti sudah berhasil login, tapi ketika scriptnya membuka halaman 'cek saldo' dan 'cek mutasi' gagal menemukan text HTML yang sesuai dengan pola halaman yang seharusnya.

Di pikiran saya, beberapa kemungkinan yang terjadi:

Tapi kalau membaca judul issue ini anehnya cuma pada jam "12.00 AM sd 06.00 AM". Dari mana dapat range jam itu?

Cuma nebak-nebak aja atau akurat banget tiap jam segitu gak jalan? Apakah di luar jam itu selalu jalan scriptnya?

g00m00nry0ng commented 1 year ago

error dek saldo sbb: Cannot find appropriate tags (1) error cek mutasi sbb: Cannot find table on the account statement page

Ini berarti sudah berhasil login, tapi ketika scriptnya membuka halaman 'cek saldo' dan 'cek mutasi' gagal menemukan text HTML yang sesuai dengan pola halaman yang seharusnya.

Di pikiran saya, beberapa kemungkinan yang terjadi:

  • Posisi table HTML sudah berubah. Jadi perlu rework script.
  • Akun sedang kena limit, jadi gak munculin halaman yang diminta.
  • Web KlikBCA sedang maintenance.

Tapi kalau membaca judul issue ini anehnya cuma pada jam "12.00 AM sd 06.00 AM". Dari mana dapat range jam itu?

Cuma nebak-nebak aja atau akurat banget tiap jam segitu gak jalan? Apakah di luar jam itu selalu jalan scriptnya?

Di luar jam tsb selalu jalan. ini sudah saya buktikan dalam 2 hari terakhir menggunakan cron. Saya lakukan cron setiap menit ke 0, 15 , 30 dan 45 untuk cek saldo dan cek mutasi. Dan start jam 12 malam dia tidak akan bekerja dan baru mulai bekerja lagi jam 6 pagi.

Untuk web https://m.klikbca.com/ saya coba manual akses aman-aman saja pada jam 12-06 tersebut, walaupun memang ga bisa tepat setelah cron jalan karena kalau sesaat setelah cron berjalan dan saya coba akses manual, kena error BCA yg "Anda dapat melakukan login kembali setelah 5 menit / You can re-login after 5 minutes.", entah kenapa.

g00m00nry0ng commented 1 year ago

error dek saldo sbb: Cannot find appropriate tags (1) error cek mutasi sbb: Cannot find table on the account statement page

Ini berarti sudah berhasil login, tapi ketika scriptnya membuka halaman 'cek saldo' dan 'cek mutasi' gagal menemukan text HTML yang sesuai dengan pola halaman yang seharusnya.

Di pikiran saya, beberapa kemungkinan yang terjadi:

  • Posisi table HTML sudah berubah. Jadi perlu rework script.
  • Akun sedang kena limit, jadi gak munculin halaman yang diminta.
  • Web KlikBCA sedang maintenance.

Tapi kalau membaca judul issue ini anehnya cuma pada jam "12.00 AM sd 06.00 AM". Dari mana dapat range jam itu?

Cuma nebak-nebak aja atau akurat banget tiap jam segitu gak jalan? Apakah di luar jam itu selalu jalan scriptnya?

nb: terkadang lewat jam 6 pagi masih ga jalan, contohnya hari ini jam segini masih dapat : Cannot find appropriate tags (1) Cannot find table on the account statement page

padahal 2 hari sebelumnya tepat waktu error di jam 12 malam sd 6 pagi.

Nanti saya update kalau sudah berhasil jalan lagi karena per jam 7 pagi ini masih ga jalan.

ammarfaizi2 commented 1 year ago

OK, barusan saya coba sendiri dapat error yang sama.

Login berhasil, tapi gak bisa cek saldo sama cek mutasi. Pas dicek pakai CURLOPT_VERBOSE ternyata dapat response HTTP "303 See Other".

Saya belum tahu solusinya gimana. Belum sempet debugging lebih lanjut. Mungkin minggu depan bakal update library-nya.

Hasil CURLOPT_VERBOSE di method balanceInquiry():

*   Trying 202.6.211.16:443...
* Connected to m.klikbca.com (202.6.211.16) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
*  CAfile: /etc/ssl/certs/ca-certificates.crt
*  CApath: /etc/ssl/certs
* SSL connection using TLSv1.3 / TLS_AES_128_GCM_SHA256
* ALPN, server did not agree to a protocol
* Server certificate:
*  subject: businessCategory=Private Organization; jurisdictionC=ID; serialNumber=AHU-AH.01.03-0351676; C=ID; ST=Daerah Khusus Ibukota Jakarta; L=Jakarta Pusat; O=PT Bank Central Asia Tbk; CN=m.klikbca.com
*  start date: Jan 31 00:00:00 2022 GMT
*  expire date: Feb 21 23:59:59 2023 GMT
*  subjectAltName: host "m.klikbca.com" matched cert's "m.klikbca.com"
*  issuer: C=US; O=DigiCert Inc; OU=www.digicert.com; CN=DigiCert SHA2 Extended Validation Server CA
*  SSL certificate verify ok.
> POST /balanceinquiry.do HTTP/1.1
Host: m.klikbca.com
User-Agent: Opera/9.80 (J2ME/MIDP; Opera Mini/4.2.14912/35.5706; U; id) Presto/2.8.119 Version/11.10
Accept: */*
Cookie: Cookie-NS-Mklikbca=ffffffff0908347e45525d5f4f58455e445a4a42a800; JSESSIONID=WG9L4XYEWWP2nMumCuonYXpeuBZQo-AuxvSBuEJsyO6pwUvc1VNN!567554737; XD9XIjSO=A2524UuFAQAAc4J9NynU8iEd8kIXKcH9UdWvtirMOiqjoE42Y_SSWunagLcYAbT-PpnzgMyI4hcOnAAAYD3xLg|1|0|3dd19989bafb0383f090b67bd2d6bd454cfe2e86
Content-Length: 0
Content-Type: application/x-www-form-urlencoded

* Mark bundle as not supporting multiuse
< HTTP/1.1 303 See Other
< Date: Mon, 26 Dec 2022 00:42:25 GMT
< Content-Type: text/plain; charset=UTF-8
< Content-Length: 0
< Connection: keep-alive
< X-SERVER-HOP: 1
* Replaced cookie JSESSIONID="block" for domain m.klikbca.com, path /, expire 0
< Set-Cookie: JSESSIONID=block; path=/; secure; HttpOnly
< Location: https://m.klikbca.com/authentication.do?value(actions)=logout
< 
* Connection #0 to host m.klikbca.com left intact
Error: Cannot find appropriate tags (1)
g00m00nry0ng commented 1 year ago

OK, barusan saya coba sendiri dapat error yang sama.

Login berhasil, tapi gak bisa cek saldo sama cek mutasi. Pas dicek pakai CURLOPT_VERBOSE ternyata dapat response HTTP "303 See Other".

Saya belum tahu solusinya gimana. Belum sempet debugging lebih lanjut. Mungkin minggu depan bakal update library-nya.

Hasil CURLOPT_VERBOSE di method balanceInquiry():

*   Trying 202.6.211.16:443...
* Connected to m.klikbca.com (202.6.211.16) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
*  CAfile: /etc/ssl/certs/ca-certificates.crt
*  CApath: /etc/ssl/certs
* SSL connection using TLSv1.3 / TLS_AES_128_GCM_SHA256
* ALPN, server did not agree to a protocol
* Server certificate:
*  subject: businessCategory=Private Organization; jurisdictionC=ID; serialNumber=AHU-AH.01.03-0351676; C=ID; ST=Daerah Khusus Ibukota Jakarta; L=Jakarta Pusat; O=PT Bank Central Asia Tbk; CN=m.klikbca.com
*  start date: Jan 31 00:00:00 2022 GMT
*  expire date: Feb 21 23:59:59 2023 GMT
*  subjectAltName: host "m.klikbca.com" matched cert's "m.klikbca.com"
*  issuer: C=US; O=DigiCert Inc; OU=www.digicert.com; CN=DigiCert SHA2 Extended Validation Server CA
*  SSL certificate verify ok.
> POST /balanceinquiry.do HTTP/1.1
Host: m.klikbca.com
User-Agent: Opera/9.80 (J2ME/MIDP; Opera Mini/4.2.14912/35.5706; U; id) Presto/2.8.119 Version/11.10
Accept: */*
Cookie: Cookie-NS-Mklikbca=ffffffff0908347e45525d5f4f58455e445a4a42a800; JSESSIONID=WG9L4XYEWWP2nMumCuonYXpeuBZQo-AuxvSBuEJsyO6pwUvc1VNN!567554737; XD9XIjSO=A2524UuFAQAAc4J9NynU8iEd8kIXKcH9UdWvtirMOiqjoE42Y_SSWunagLcYAbT-PpnzgMyI4hcOnAAAYD3xLg|1|0|3dd19989bafb0383f090b67bd2d6bd454cfe2e86
Content-Length: 0
Content-Type: application/x-www-form-urlencoded

* Mark bundle as not supporting multiuse
< HTTP/1.1 303 See Other
< Date: Mon, 26 Dec 2022 00:42:25 GMT
< Content-Type: text/plain; charset=UTF-8
< Content-Length: 0
< Connection: keep-alive
< X-SERVER-HOP: 1
* Replaced cookie JSESSIONID="block" for domain m.klikbca.com, path /, expire 0
< Set-Cookie: JSESSIONID=block; path=/; secure; HttpOnly
< Location: https://m.klikbca.com/authentication.do?value(actions)=logout
< 
* Connection #0 to host m.klikbca.com left intact
Error: Cannot find appropriate tags (1)

Noted Mas, terimakasih sebelumnya. Oiya sekarang hari senin, kalau dari pengalaman sebelum-sebelumnya memang biasanya hari senin jam error nya lebih lama bahkan bisa seharian.

g00m00nry0ng commented 1 year ago

Halo Mas @ammarfaizi2 , barusan saya coba Burp Browser untuk akses klikbca, dan kebetulan Burp saya belum bisa https. Nah ternyata gagal. Melihat hal ini plus response "ALPN, server did not agree to a protocol" pada CURLOPT_VERBOSE yang Mas infokan, apakah mungkin error ini terkait "ALPN, offering h2" ya?

jadi pada periode-periode tertentu seperti jam 24.00 sd 06.00 selain Senin, dan sepanjang hari untuk hari Senin, protokol SSL nya menggunakan yg lebih ketat.

pancaz commented 1 year ago

iya saya mengalami masalah yg sama sekarang hari senin tidak bisa dicek padahal hari kemarin bisa. mohon solusi ya.

ammarfaizi2 commented 1 year ago

jadi pada periode-periode tertentu seperti jam 24.00 sd 06.00 selain Senin, dan sepanjang hari untuk hari Senin, protokol SSL nya menggunakan yg lebih ketat.

Hmm... menurut saya aneh kalau SSL yang dipasang berbeda di hari tertentu saja. Kalaupun memang benar begitu apa tujuannya pihak BCA melakukan itu? (Saya gak ada bayangan sama sekali dari manfaat pasang SSL yang berbeda di hari tertentu).

Melihat hal ini plus response "ALPN, server did not agree to a protocol" pada CURLOPT_VERBOSE yang Mas infokan, apakah mungkin error ini terkait "ALPN, offering h2" ya?

No. "ALPN offering h2" ini terjadi ketika TLS handshake, tujuannya untuk ngecek apakah servernya support HTTP/2. Kalau tidak support otomatis curl akan fallback ke HTTP/1.x.

HTTP/2 vs HTTP/1.x ini bukan masalah di sini. Itu cuma versi protokol HTTP saja.

Di Curl verbose client mengirim request dengan HTTP/1.1:

POST /balanceinquiry.do HTTP/1.1

Lalu dapat response:

< HTTP/1.1 303 See Other

Itu bukan masalah SSL.

Saya masih belum tahu pasti penyebabnya apa. Tapi yang bikin saya terheran-heran kenapa kalian cuma mengalami masalah ini di hari tertentu aja?

Emangnya pihak BCA ngapain di waktu-waktu itu...

Hmmm... puzzled...

ammarfaizi2 commented 1 year ago

FWIW, ada yang mau coba lihat output ketika login di hari itu?

Library yang kalian pakai ini bakal set user agent ke:

Opera/9.80 (J2ME/MIDP; Opera Mini/4.2.14912/35.5706; U; id) Presto/2.8.119 Version/11.10

Setelah itu buka https://m.klikbca.com, login, lakukan pengecekan mutasi dan saldo.

Saya mau kalian coba pasang browser extension yang bisa custom user agent, terus pasang user agent di atas, terus login ke web BCA. Share balik hasilnya kayak gimana? Bisa login gak kalau dari browser?

g00m00nry0ng commented 1 year ago
Opera/9.80 (J2ME/MIDP; Opera Mini/4.2.14912/35.5706; U; id) Presto/2.8.119 Version/11.10

Barusan saya coba menggunakan user agent di atas, bisa login dan bisa cek mutasi serta cek saldo, Mas. https://imgur.com/a/QDbL9Cf

Browser saya chrome menggunakan extenstions "User-Agent Switcher and Manager"

ammarfaizi2 commented 1 year ago

bisa login dan bisa cek mutasi serta cek saldo

Di waktu yang sama, cek saldo/mutasi via script PHP pakai library ini bisa gak?

Saya pengen tahu, apakah ketika gagal cek saldo/mutasi via PHP juga tidak bisa cek saldo di browser pakai user agent itu?

IOW,

Kalau di browser bisa, tapi via PHP gak bisa, berarti emang ada yang perlu diperbaiki di library PHP-nya.

g00m00nry0ng commented 1 year ago

bisa login dan bisa cek mutasi serta cek saldo

Di waktu yang sama, cek saldo/mutasi via script PHP pakai library ini bisa gak?

Saya pengen tahu, apakah ketika gagal cek saldo/mutasi via PHP juga tidak bisa cek saldo di browser pakai user agent itu?

IOW,

  • Library PHP-nya yang bermasalah?
  • Atau emang webnya yang bermasalah ketika nerima user agent itu di waktu tertentu?

Kalau di browser bisa, tapi via PHP gak bisa, berarti emang ada yang perlu diperbaiki di library PHP-nya.

Ga bisa Mas. Hari ini, Senin, memang hari dimana error sebagaimana jam 24.00 - 06.00 terjadi sepanjang hari. Kalau di Mas, apakah bisa dijalankan library ini hari ini?

prastius commented 1 year ago

Metode yang saya buat sendiri pakai Selenium & Webdriver juga mengalami kendala yang sama. Hari senin (full day) & tiap hari jam 00.00 - 06.00 tidak working. Kalau autotest, saya liat dia mengarah ke frame_break.jsp tiap kali kita mau ambil informasi saldo / mutasi rekening. https://ibank.klikbca.com/frame_break.jsp

Loginnya berhasil dalam artian, CURL aman. Bingung juga ini BCA-nya lagi ngapain. Apakah ada solusi?

g00m00nry0ng commented 1 year ago

Metode yang saya buat sendiri pakai Selenium & Webdriver juga mengalami kendala yang sama. Hari senin (full day) & tiap hari jam 00.00 - 06.00 tidak working. Kalau autotest, saya liat dia mengarah ke frame_break.jsp tiap kali kita mau ambil informasi saldo / mutasi rekening. https://ibank.klikbca.com/frame_break.jsp

Loginnya berhasil dalam artian, CURL aman. Bingung juga ini BCA-nya lagi ngapain. Apakah ada solusi?

Sudah pernah coba ke mobile web nya Mas? Yg https://m.klikbca.com/

Kalau lib ini menggunakan mobile web, tapi memang tetap bermasalah sih di waktu tsb.

prastius commented 1 year ago

Sudah pernah coba ke mobile web nya Mas? Yg https://m.klikbca.com/

Kalau lib ini menggunakan mobile web, tapi memang tetap bermasalah sih di waktu tsb.

Sudah pernah, kalau yang dari mobile, pas cek mutasi dia langsung auto ke halaman login (auto logout gitu), sepertinya beralih juga ke frame_break.jsp (tapi kalau versi mobile ga ada pagenya).

Sama ini, selalu errornya itu di jam 00:00-06:00 sama hari senin full day, bingung juga ini..

cvkjm commented 1 year ago

kalo bole ikut komen sepertinya bca mengurangi cek mutasi pada jam2 tsb dan hari senin dikarenakan pada hari senn request ke cek mutasi bca sangat berat apabila trx berat, saya sendiri buat sukses jalan di hari senin dan jam 00-06 namun pada saat2 tertentu terkadang load 30 menit atau 45 menit terkena masalah di atas ( kadang2 saja ) kalo di jam2 diatas, namun di jam2 selain di atas normal

prastius commented 1 year ago

kalo bole ikut komen sepertinya bca mengurangi cek mutasi pada jam2 tsb dan hari senin dikarenakan pada hari senn request ke cek mutasi bca sangat berat apabila trx berat, saya sendiri buat sukses jalan di hari senin dan jam 00-06 namun pada saat2 tertentu terkadang load 30 menit atau 45 menit terkena masalah di atas ( kadang2 saja ) kalo di jam2 diatas, namun di jam2 selain di atas normal

Ini pakai apinya cekmutasi.com ya? itu berbayar kan? per rekeningnya

cvkjm commented 1 year ago

ngga saya buat sendiri

On Fri, Jan 20, 2023 at 2:11 PM Eko Prastius @.***> wrote:

kalo bole ikut komen sepertinya bca mengurangi cek mutasi pada jam2 tsb dan hari senin dikarenakan pada hari senn request ke cek mutasi bca sangat berat apabila trx berat, saya sendiri buat sukses jalan di hari senin dan jam 00-06 namun pada saat2 tertentu terkadang load 30 menit atau 45 menit terkena masalah di atas ( kadang2 saja ) kalo di jam2 diatas, namun di jam2 selain di atas normal

Ini pakai apinya cekmutasi.com ya? itu berbayar kan? per rekeningnya

— Reply to this email directly, view it on GitHub https://github.com/ammarfaizi2/KlikBCA/issues/6#issuecomment-1398000317, or unsubscribe https://github.com/notifications/unsubscribe-auth/AR42Z72SPQMCMPGVUYAOY2TWTI3DNANCNFSM6AAAAAATIVD5YQ . You are receiving this because you commented.Message ID: @.***>

g00m00nry0ng commented 1 year ago

ngga saya buat sendiri On Fri, Jan 20, 2023 at 2:11 PM Eko Prastius @.> wrote: kalo bole ikut komen sepertinya bca mengurangi cek mutasi pada jam2 tsb dan hari senin dikarenakan pada hari senn request ke cek mutasi bca sangat berat apabila trx berat, saya sendiri buat sukses jalan di hari senin dan jam 00-06 namun pada saat2 tertentu terkadang load 30 menit atau 45 menit terkena masalah di atas ( kadang2 saja ) kalo di jam2 diatas, namun di jam2 selain di atas normal Ini pakai apinya cekmutasi.com ya? itu berbayar kan? per rekeningnya — Reply to this email directly, view it on GitHub <#6 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AR42Z72SPQMCMPGVUYAOY2TWTI3DNANCNFSM6AAAAAATIVD5YQ . You are receiving this because you commented.Message ID: @.>

Ga di share caranya Mas? Kebetulan hari ini jadwalnya BCA ngadat

cvkjm commented 1 year ago

Pake pupeeteer or selenium mas

On Mon, Jan 23, 2023, 6:06 AM g00m00nry0ng @.***> wrote:

ngga saya buat sendiri … <#m1693675714543154748> On Fri, Jan 20, 2023 at 2:11 PM Eko Prastius @.> wrote: kalo bole ikut komen sepertinya bca mengurangi cek mutasi pada jam2 tsb dan hari senin dikarenakan pada hari senn request ke cek mutasi bca sangat berat apabila trx berat, saya sendiri buat sukses jalan di hari senin dan jam 00-06 namun pada saat2 tertentu terkadang load 30 menit atau 45 menit terkena masalah di atas ( kadang2 saja ) kalo di jam2 diatas, namun di jam2 selain di atas normal Ini pakai apinya cekmutasi.com http://cekmutasi.com ya? itu berbayar kan? per rekeningnya — Reply to this email directly, view it on GitHub <#6 (comment) https://github.com/ammarfaizi2/KlikBCA/issues/6#issuecomment-1398000317>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AR42Z72SPQMCMPGVUYAOY2TWTI3DNANCNFSM6AAAAAATIVD5YQ https://github.com/notifications/unsubscribe-auth/AR42Z72SPQMCMPGVUYAOY2TWTI3DNANCNFSM6AAAAAATIVD5YQ . You are receiving this because you commented.Message ID: @.>

Ga di share caranya Mas? Kebetulan hari ini jadwalnya BCA ngadat

— Reply to this email directly, view it on GitHub https://github.com/ammarfaizi2/KlikBCA/issues/6#issuecomment-1399634380, or unsubscribe https://github.com/notifications/unsubscribe-auth/AR42Z7ZJTOGXUFGKLS2TULLWTW4QVANCNFSM6AAAAAATIVD5YQ . You are receiving this because you commented.Message ID: @.***>

prastius commented 1 year ago

Pake pupeeteer or selenium mas

Saya pakai selenium tetap tidak bisa dapat, pakai webdriver juga, dia tulisannya out of service gitu, ada tambahan module atau exception gitu?

nomut commented 1 year ago

Hai, saya mau sharing, saya memiliki script yang mirip dengan repo ini.

Saya mendapat kendala yang sama.

Ini terjadi karna request payload yang di bind entah oleh salah satu script di bawah ini: https://ibank.klikbca.com/8OyYt73AP1GnNh4i.js?init=1 atau https://ibank.klikbca.com/__imp_apg__/js/sedbd6feb58.js

Kemungkinan besar script tersebut berasal dari https://f5.com

kemungkinan payloadnya bisa di generate sendiri mengikuti prosedur dari hasil reverse script tersebut (saya kurang paham native JS, jadi belum bisa reverse step2 untuk generate payloadnya, hehe)

Jika payload di bawah ini tidak di kirim, request kita akan di redirect ke url logoff

payload yang di kirim saat akses halaman saldo & statement:


kBJpQCM3xB-a=LU8wuzSTtEbE%3DT_KWMnkx7rXjx5p5cXX7WlbhYI%3DdCJ4qVBq2VLLNMdzdQ8OGi-xPoQrDOKNyg8ce%3DQ1gXCSUhbP3Z3YMeE693%3DX3NQ..... (panjang)
kBJpQCM3xB-z=q
kBJpQCM3xB-d=ABaChIjBDKGNgUGAQZIQhISi0eIApJmBDgDc9lB4qgDGggAAAABntR_rACbREuFp5AO0-f_pz9zFf6w
kBJpQCM3xB-c=AMC83f-FAQAA07P8T6AuLq8PJ3nKtRaWqbQpEITl9Aiq9w9Yy9z2UHiqAMaC
kBJpQCM3xB-b=-n3u457
kBJpQCM3xB-f=A-Z05f-FAQAA-G0VJlloV3-WIX6SLxKtSD8f1BVCLwdcLoX6psvR-37yzMfyAbb9mZKucnyzwH8AAOfvAAAAAA%3D%3D``` (truncated)
g00m00nry0ng commented 1 year ago

Hari ini sudah lewat 30 menit lewat dari jam 6 dan bukan hari Senin. Tapi masih bermasalah juga. Jangan-jangan proteksi hari Senin sudah diterapkan setiap hari. Ada yg ngalamin juga?

prastius commented 1 year ago

Hari ini sudah lewat 30 menit lewat dari jam 6 dan bukan hari Senin. Tapi masih bermasalah juga. Jangan-jangan proteksi hari Senin sudah diterapkan setiap hari. Ada yg ngalamin juga?

Iya, barusan saya coba jga sudah tidak bisa ambil mutasi

aherlambang commented 1 year ago

bagaimana nih solusinya kawan-kawan ?

fachrihr commented 1 year ago

Saya juga bikin script python selenium sendiri. Bener kejadiannya sama seperti @prastius dan @nomut. Minggu2 lalu gak bisa cek mutasi tiap senin. Mulai minggu ini tiap hari gak bisa dicek. Kayaknya sejak BCA pakai F5 jadi punya semacam anti-bot.

Kalau cek mutasi manual bisa. Tapi kalau pakai bot selalu kena temporary out of service. Mungkin script F5 detect aktivitas mouse?

reinforcers commented 1 year ago

saya coba pakai nodejs puppeteer juga sama, headless: false sekalipun tidak bisa. sampai masuk halaman form mutasi saja, setelah submit formnya selalu tampil halaman login dengan URL tetap di halaman hasil mutasi

edit: setelah diutak atik, dugaan bang @fachrihr benar, harus ada simulasi mouse dan keyboard bisa ambil nya

prastius commented 1 year ago

Ada yang punya solusi? saya sudah pakai selenium, puppeteer, goutte

reinforcers commented 1 year ago

Ada yang punya solusi? saya sudah pakai selenium, puppeteer, goutte

dengan puppeteer intinya simulasikan keyboard nya dari tombol inputan maupun tombol untuk klik link. jadi jangan lgsg pakai page.click, harusnya selenium juga bisa

fachrihr commented 1 year ago

Ada yang punya solusi? saya sudah pakai selenium, puppeteer, goutte

dengan puppeteer intinya simulasikan keyboard nya dari tombol inputan maupun tombol untuk klik link. jadi jangan lgsg pakai page.click, harusnya selenium juga bisa

Saya dah coba pake API move_by_offset, dah coba pake pyautogui moveTo + bezier curve juga. Masih belum bisa bypass botnya..

g00m00nry0ng commented 1 year ago

Kalau https://mybca.bca.co.id/auth/login ada yg pernah coba? Kalau login manual di web dan comot credential pas cek mutasi sih bisa dijalanin di server, tapi ga bisa lama-lama langsung minta login ulang.

Nah loginnya ini ga tembus-tembus, payload pas loginnya harus di encrypt pake script js yg ini https://mybca.bca.co.id/main-es5.8b68fadeb857d55bd960.js dan saya ga paham gmn jalaninnya di php.

reinforcers commented 1 year ago

Ada yang punya solusi? saya sudah pakai selenium, puppeteer, goutte

dengan puppeteer intinya simulasikan keyboard nya dari tombol inputan maupun tombol untuk klik link. jadi jangan lgsg pakai page.click, harusnya selenium juga bisa

Saya dah coba pake API move_by_offset, dah coba pake pyautogui moveTo + bezier curve juga. Masih belum bisa bypass botnya..

agak susah mmg karena bot nya sendiri seperti belajar. saya coba simulasi kan dari puppeteer page.focus dan page.click awal nya bisa, besoknya sudah tidak bisa. ubah dengan page.keyboard.press('Enter') bisa, tapi permasalahan terakhir ada di headless: true ini yg tidak bisa. mungkin di cek dari navigator.connection.rtt karena untuk headless: true ini akan selalu 0

prastius commented 1 year ago

Ada yang punya solusi? saya sudah pakai selenium, puppeteer, goutte

dengan puppeteer intinya simulasikan keyboard nya dari tombol inputan maupun tombol untuk klik link. jadi jangan lgsg pakai page.click, harusnya selenium juga bisa

Saya dah coba pake API move_by_offset, dah coba pake pyautogui moveTo + bezier curve juga. Masih belum bisa bypass botnya..

agak susah mmg karena bot nya sendiri seperti belajar. saya coba simulasi kan dari puppeteer page.focus dan page.click awal nya bisa, besoknya sudah tidak bisa. ubah dengan page.keyboard.press('Enter') bisa, tapi permasalahan terakhir ada di headless: true ini yg tidak bisa. mungkin di cek dari navigator.connection.rtt karena untuk headless: true ini akan selalu 0

Bisa di share mungkin untuk puppeteernya? sending custom javascript? saya pakai selenium ini masih terkadang kena out of service

reinforcers commented 1 year ago

Bisa di share mungkin untuk puppeteernya? sending custom javascript? saya pakai selenium ini masih terkadang kena out of service

wah bukan murni milik pribadi masalahnya. yg pasti tanpa sending custom javascript, intinya anggap saja sedang membuka di chrome nya secara manual dengan mouse dan keyboard hanya saja digantikan Page.keyboard dan Page.mouse dari puppeteer nya. misal, untuk input username, jangan lgsg Page.type('selector username', 'username') tapi gunakan Page.keyboard.press('Tab') untuk mencapai input username lalu Page.keyboard.type('username'), kalau perlu di buat perhuruf

charlieuki commented 1 year ago

Teman2 apakah ada yang sudah menemukan solusinya? Saya sudah coba pakai Puppeteer, Playwright, Selenium, Undetected Chromedriver, dengan / tanpa plugin Stealth, dengan / tanpa mode headless juga masih tidak bisa lancar cek mutasinya.

reinforcers commented 1 year ago
charlieuki commented 1 year ago
  • menggunakan puppeteer-extra dan puppeteer-extra-plugin-stealth
  • setting dengan headless: 'new'
  • jangan pakai chromium dari puppeteer tapi pakai chrome yg terinstall, caranya setting executablePath diarahkan ke executable chrome nya, cth: executablePath: '/usr/bin/google-chrome-stable'
  • simulasikan mouse dan keyboard dengan Page.keyboard dan Page.mouse sesuai keperluan

Terima kasih untuk respon anda. Saya sudah coba menggunakan metode tersebut, tetapi tetap saja tidak lancar kalau di-setting ambil mutasi setiap 3-5 menit. Saya menggunakan puppeteer@19.7.5 dengan puppeteer-extra-plugin-stealth@2.11.2 dan setahu saya keduanya sudah versi terbaru.

reinforcers commented 1 year ago

Terima kasih untuk respon anda. Saya sudah coba menggunakan metode tersebut, tetapi tetap saja tidak lancar kalau di-setting ambil mutasi setiap 3-5 menit. Saya menggunakan puppeteer@19.7.5 dengan puppeteer-extra-plugin-stealth@2.11.2 dan setahu saya keduanya sudah versi terbaru.

dicoba dulu saja dengan headless: false karena awal saya ketemu masalah cek nya juga dari situ. masalah simulasi input ini juga bisa di cek lagi karena tanpa delay jadi mungkin bisa bermasalah, ditempat saya selalu saya jeda dengan page.waitfortimeout sesuai keperluan

fdciabdul commented 1 year ago

Bisa di share mungkin untuk puppeteernya? sending custom javascript? saya pakai selenium ini masih terkadang kena out of service

wah bukan murni milik pribadi masalahnya. yg pasti tanpa sending custom javascript, intinya anggap saja sedang membuka di chrome nya secara manual dengan mouse dan keyboard hanya saja digantikan Page.keyboard dan Page.mouse dari puppeteer nya. misal, untuk input username, jangan lgsg Page.type('selector username', 'username') tapi gunakan Page.keyboard.press('Tab') untuk mencapai input username lalu Page.keyboard.type('username'), kalau perlu di buat perhuruf

itu gamasalah , saya bisa kok ..

image

reinforcers commented 1 year ago

itu gamasalah , saya bisa kok ..

image

tks infonya nanti saya akan coba-coba lagi

reinforcers commented 1 year ago

saya coba headless: 'new' dengan executablePath: '/usr/bin/google-chrome-stable' ini ada versi Chrome yg bisa jalan tanpa Page.keyboard dan Page.mouse, ada yg harus menggunakan, ada yg tidak bisa sama sekali. yg pasti headless: True dengan kata lain browser nya muncul tidak pernah ada masalah

fdciabdul commented 1 year ago

saya coba headless: 'new' dengan executablePath: '/usr/bin/google-chrome-stable' ini ada versi Chrome yg bisa jalan tanpa Page.keyboard dan Page.mouse, ada yg harus menggunakan, ada yg tidak bisa sama sekali. yg pasti headless: True dengan kata lain browser nya muncul tidak pernah ada masalah

bisa di coba versi saya ini

https://github.com/fdciabdul/mutasi-scraper