'******************************************************* ******************************
'Fungsi (umum)
'Nama: Fungsi pengambilan jarak jauh
'Fungsi: Gunakan XMLHTTP untuk mengambil data dari jarak jauh
'Parameter: sMethod --- metode pengiriman
' sUrl ------ alamat target
' iMode ----- Mengembalikan tipe konten: 0 adalah biner, 1 adalah teks, 2 adalah cookie, 3 adalah informasi header file
' sBase ----- mengatur pengkodean
' sReferer -- menyetel sumber
' sCookie --- Setel cookie
' sBahasa - Setel bahasa
' sData ----- Mengatur parameter yang akan dikirim
' sContent -- Mengatur tipe data penerima
' sAgent ---- atur browser
' sEncoding - Mengatur kompresi gzip
' sTerima --- Tetapkan jenis dokumen
'******************************************************* ******************************
Fungsi Publik SenFe_StealData(sMethod, sUrl, iMode, sBase, sReferer, sCookie, sLanguage, sData, sContent, sAgent, sEncoding, sAccept)
Redupkan oXmlHttp : Setel oXmlHttp = Server.CreateObject(Msxml2.ServerXMLHTTP)
Dengan oXmlHttp
Jika sMethod= Maka sMethod = DAPATKAN
.Buka sMethod, sUrl, False
'Tetapkan sumber halaman
Jika sReferer<>Lalu
.SetRequestHeaderReferer, sReferer
Kalau tidak
.SetRequestHeader Referer, Split(sUrl, /)(2)
Akhiri Jika
Jika sCookie<> Lalu .SetRequestHeader Cookie, sCookie 'Setel Cookie
Jika sLanguage<> Lalu .SetRequestHeader Accept-Language, sLanguage 'Setel bahasa
Jika sData<> Lalu .SetRequestHeader Content-Length, Len(sData) 'Setel panjang data
Jika sContent<> Lalu .SetRequestHeader Content-Type, sContent 'Setel tipe data yang diterima
Jika sAgent<> Lalu .SetRequestHeader User-Agent, sAgent 'Setel browser
Jika sEncoding<> Lalu .SetRequestHeader Terima-Encoding, sEncoding 'Setel kompresi gzip
Jika sAccept<> Lalu .SetRequestHeader Terima, sAccept 'Jenis dokumen
.Kirim sData
'Sementara .ReadyState <> 4
' .TungguRespon 1000
'Pergi ke
Jika .ReadyState<>4 Atau .Status<>200 Lalu
SenFe_StealData = Tidak dapat mengambil data!
Fungsi Keluar
Akhiri Jika
Pilih Kasus iMode
Kasus 0 SenFe_StealData = .ResponseBody
Kasus 1
Jika sBase<>Lalu
SenFe_StealData = BytesToBstr(.ResponseBody, sBase)
Kalau tidak
SenFe_StealData = .ResponseText
Akhiri Jika
Kasus 2 SenFe_StealData = .getResponseHeader(Set-Cookie)
Kasus Lain SenFe_StealData = .getAllResponseHeaders()
Pilihan Akhir
Akhiri Dengan
Fungsi Akhir
'******************************************************* ******************************
'Fungsi: pengkodean konversi
'Parameter: sBody - konten yang akan dikonversi
' sCset - pengkodean
'******************************************************* ******************************
Fungsi BytesToBstr(sBody, sCset)
Dengan oAdos
.Jenis = 1
.Modus = 3
.Membuka
.Tulis sBody
.Posisi = 0
.Jenis = 2
.Charset = sCset
BytesToBstr = .BacaTeks
.Menutup
Akhiri Dengan
Fungsi Akhir