Agen online web (versi Asp)
Penulis:Eve Cole
Waktu Pembaruan:2009-06-23 17:01:33
Perangkat lunak proxy web yang ditulis dalam asp dapat digunakan untuk menerobos batasan gateway, dll. Ini terutama digunakan dengan Ajax (karena masalah akses lintas domain di Firefox) Versi 0.1 Penulis LlinZzi
Fungsi tersebut menentukan kode situs web, mendukung konversi otomatis hyperlink dalam bahasa apa pun, dan memiliki fungsi yang belum terselesaikan untuk mengunduh gambar dari jarak jauh. Saat ini hanya dapat digunakan untuk memproksi kode situs web, dan penerusan proksi gambar serta data lainnya belum dilakukan selesai.
[Salin kode ini]KODE:
< %@LANGUAGE="JAVASCRIPT " CODEPAGE="65001"%>
<%Respon.Charset = "utf-8"%>
<%
Server.ScriptTimeout=9999999;
var Surl = String(Permintaan.QueryString("url"));
if(Surl == "tidak terdefinisi"){
Response.Write("<p style="ukuran font:9pt;margin:30px;padding:10px;text-align:center;background-color:#FFCCCC;border: 1px solid #999999;">Proksi Asp oleh Llinzzi</p>");
Response.Write("<div style="ukuran font:9pt;margin:30px;perataan teks:tengah;warna latar:#FFFFCC;batas: 1px solid #999999;">");
Response.Write("<form action="#" method="dapatkan" >");
Response.Write("<p style="font-size:9pt;margin:5px;text-align:center;">Silakan masukkan URL</p>");
Response.Write("<p><input style="warna latar: #FFCCCC;batas: 1 piksel solid #999999;" type="text" name="url"></p>" );
Response.Write("<p><input style="warna latar: #FFCCCC;batas: 1 piksel solid #999999;" type="submit" value="GoWeb"></p>" );
Respon.Write("</div>");
}
lain jika(Surl == ""){
Response.Write("<p style="ukuran font:9pt;margin:30px;padding:10px;text-align:center;background-color:#FFCCCC;border: 1px solid #999999;">Proksi Asp oleh Llinzzi</p>");
Response.Write("<div style="ukuran font:9pt;margin:30px;perataan teks:tengah;warna latar:#FFFFCC;batas: 1px solid #999999;">");
Response.Write("<p>Alamat kosong, silakan masukkan format seperti www.tom.com </p>");
Respon.Write("</div>");
}
kalau tidak{
Surl = (Surl.substr(0,7) != "http://") ? " http://"+Surl : Surl;
Respon.Tulis(send_request(Surl));
}
fungsi kirim_permintaan(url) {
teks berkode var;
http_request = Server.CreateObject("Microsoft.XMLHTTP");
mencoba{
http_request.Open("DAPATKAN",url,salah);
http_request.Kirim(null);
}
menangkap(e)
{
Response.Write(e.deskripsi);
}
jika (http_request.ReadyState == 4){
//Secara otomatis menentukan awal pengkodean
var charresult = http_request.ResponseText.match(/CharSet=(S+)"/i);
jika (hasil akhir != null){
var Cset = hasil akhir[1];
}else{Cset = "utf-8"}
//Secara otomatis menentukan akhir pengkodean
teks berkode = bytesToBSTR(http_request.Responsebody,Cset);
}kalau tidak{
teks berkode = "Kesalahan";
}
//ganti hyperlink
teks kode = teks kode.replace(/href="/?/ig,"href=""+url+"/");
codedtext = codedtext.replace(/(<a.*href=")/ig,"$1servergate.asp?url=");
kembali(teks berkode);
}
fungsi bytesToBSTR(body,Cset){
var objstream;
objstream = Server.CreateObject("Adodb.Stream");
objstream.Jenis = 1;
objstream.Mode = 3;
objstream.Buka();
objstream.Write(body);
objstream.Posisi = 0;
objstream.Jenis = 2;
objstream.Charset = Cset;
bytesToBSTR = objstream.Readtext;
objstream.Tutup;
kembali(bytesToBSTR);
}
fungsi SaveRemoteFile(LocalFileName,RemoteFileUrl){
Pengambilan var,Iklan;
Pengambilan = Server.CreateObject("Microsoft.XMLHTTP");
Retrieval.Open("GET",RemoteFileUrl,false);
Pengambilan.Kirim(null);
if (Pengambilan.ReadyState == 4){
Iklan = Server.CreateObject("Adodb.Stream");
Iklan.Jenis = 1;
Iklan.Buka();
Ads.Write(Retrieval.Responsebody);
Iklan.SaveToFile(Server.MapPath(LocalFileName),2);
Iklan.Batal;
Iklan.Tutup;
}
}
//SaveRemoteFile("aa.gif","/images/XrssFile/2007-1/12/2007112124640411.gif");
%>