SmartHTTP adalah HttpRequest类(ASP), dan banyak lagi yang lainnya:
respon.tulis SmartHttp(http://www.baidu.com/).send().gettext()
复杂调用
atur http saya = SmartHttp(http://www.baidu.com/s,GET)
myhttp.dataset.append wd,smarthttp
http.kirim() saya
respon.tulis http.gettext(gbk) saya
复制代码代码如下:
<bahasa skrip=jscript runat=server>
fungsi SmartHttp(url,metode,data){
kembalikan _SmartHttp(url,metode,data);
}
fungsi _SmartHttp(url,metode,data){
if(metode typeof==tidak terdefinisi) metode=GET;
if(tipe data==tidak terdefinisi) data=;
metode = metode.toUpperCase();
metode = metode!=POSTING ? DAPATKAN: POSTING;
this.metode = metode;
ini.url=url;
ini.data=data;
this.charset=gb2312;
ini.http=null;
this.header=[];
ini.status=0;
ini.readyState=0;
this.konten=null;
ini.pesan=;
ini.kumpulan data={
rangkaian karakter:gb2312,
data:[],
tambahkan:fungsi(kunci,nilai,noencode){
var fn=nol;
if(this.charset.toLowerCase()==utf-8){fn = encodeURIComponent;}else{fn = escape;}
if(noencode==true){fn=fungsi(_str){return _str;}}
this.data.push({kunci:fn(kunci),nilai:fn(nilai)});
},
hapus:fungsi(kunci){
if(ini.data.panjang<=0) mengembalikan false;
var _data=[];
for(var i=0;i<ini.data.panjang;i++){
if(ini.data[i].kunci!=kunci){
_data.push(ini.data[i]);
}
}
ini.data = _data;
},
ada:fungsi(kunci){
if(ini.data.panjang<=0) mengembalikan false;
for(var i=0;i<ini.data.panjang;i++){
if(ini.data[i].kunci==kunci){
kembali benar;
}
}
kembali salah;
},
jelas:fungsi(){
ini.dataset.data=[];
}
};
}
_SmartHttp.prototype.init=fungsi(){
var kumpulan datatr=;
if(kumpulan data.data.panjang>0){
for(var i=0;i<ini.dataset.data.panjang;i++){
kumpulan data += ini.kumpulan data.data[i].kunci + = + kumpulan data ini.data[i].nilai + &;
}
}
if(datasetstr!=) datasetstr = datasetstr.substr(0,datasetstr.length-1);
if(ini.data==){ini.data = kumpulan data;}else{if(datasetstr!=)ini.data+= & + kumpulan datatr;}
if(ini.data==)ini.data=null;
this.url += ((this.url.indexOf(?)<0) ? ? : &) + jornd= + this.getrnd();
if(ini.metode==DAPATKAN && ini.data!=null) ini.url += & + ini.data;
if(this.method==POST) this.headers.push(Tipe Konten:application/x-www-form-urlencoded);
if(!this.charset || this.charset==) this.charset = gb2312;
};
_SmartHttp.prototype.header=fungsi(headstr){
if(headstr.indexOf(:)>=0) this.headers.push(headstr);
};
_SmartHttp.prototype.send=fungsi(){
ini.init();
var _http = ini.getobj();
if(_http==null){kembali ;}
coba{_http.setTimeouts(10000,10000,10000,30000);}tangkap(misal){}
_http.open(metode ini,url ini,salah);
if(ini.header.panjang>0){
for(var i=0;i<ini.header.panjang;i++){
var Sindex = ini.header[i].indexOf(:);
var key = ini.header[i].substr(0,Sindex);
var nilai = ini.header[i].substr(Sindex+1);
_http.setRequestHeader(kunci,nilai);
}
}
_http.kirim(ini.data);
this.readyState = _http.readyState;
if(_http.readyState==4){
this.status = _http.status;
ini.http = _http;
this.content = _http.responseBody;
}
kembalikan ini;
}
_SmartHttp.prototype.getbinary=fungsi(){
kembalikan this.content;
};
_SmartHttp.prototype.gettext=fungsi(rangkaian karakter){
mencoba{
kembalikan this.b2s(ini.konten,charset ? charset : this.charset);
}menangkap(misal){
this.msg = ex.deskripsi;
kembali ;
}
};
_SmartHttp.prototype.getjson=fungsi(rangkaian karakter){
mencoba{
var _json=batal;
eval(_json=( + ini.gettext(rangkaian karakter) + );););
kembalikan _json;
}menangkap(misal){
this.msg = ex.deskripsi;
kembalikan nol;
}
};
_SmartHttp.prototype.getxml=fungsi(rangkaian karakter){
mencoba{
var _dom = ActiveXObject baru(MSXML2.DOMDocument);
_dom.loadXML(ini.gettext(charset).replace(&,&));
kembalikan _dom;
}menangkap(misal){
this.msg = ex.deskripsi;
kembalikan nol;
}
};
_SmartHttp.prototype.getobj = fungsi (){
var b=nol;
var httplist = [MSXML2.serverXMLHttp.3.0,MSXML2.serverXMLHttp,MSXML2.XMLHttp.3.0,MSXML2.XMLHttp,Microsoft.XMLHttp];
for(var i = 0;i<=httplist.length -1;i++){
mencoba{
b= Objek ActiveX baru(httplist[i]);
(fungsi(o){
_SmartHttp.prototype.getobj = function(){mengembalikan ActiveXObject(o)} baru;
})(httpdaftar[i]);
kembali b;
}menangkap(misal){
//eval(ini.pesan = ex.deskripsi;);
}
}
kembali b;
};
_SmartHttp.prototype.getrnd = function (){return Math.random().toString().substr(2);};
_SmartHttp.prototype.b2s = fungsi(bytSource, Cset){
var Objstream;
var byte;
Objstream =Server.CreateObject(ADODB.Stream);
Objstream.Jenis = 1;
Objstream.Mode = 3;
Objstream.Terbuka();
Objstream.Write(bytSource);
Objstream.Posisi = 0;
Objstream.Jenis = 2;
Objstream.CharSet = Cset;
byts = Objstream.ReadText();
Objstream.Tutup();
Objstream = nol;
kembalikan byte;
};
_SmartHttp.prototype.urlencode=function(str){ return encodeURIComponent(str);};
_SmartHttp.prototype.urldecode=fungsi(str){ return decodeURIComponent(str);};
</skrip>