All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
如何在十天内学会php之第八天_[PHP教程]
SQL,Server数据库查询优化50妙计_mssql学习_编程技术
简单的SQL语句摘记_[SQL,Server教程]
SQL数据库完全手册_mssql学习_编程技术
GridView中嵌套DropDownList的实现_[Asp.Net教程]
XP下Asp.net访问被拒绝_[Asp.Net教程]
aspx网页以HTML形式存储的几个方法_[Asp.Net教程]
SQLSERVER中,数据库同步的实现_[SQL Server教程]
SQL Server得到表记录总数另类方法_[SQL Server教程]
用php读取xml数据_[PHP教程]
Reading number is top 10 pictures
Forced sex girl living abroad1
The terra-cotta warriors2
The Soviet union swimsuit exposure in the 70 year1
The world's top ten most beautiful railway station1
A man's favorite things1
5 meters long centenarians python and melee was successfully capture king snake (figure)
A man's favorite things9
The service WaLiangGe Chinese aircraft carrier1
各种囧况!玩游戏最不喜欢出现的十件事
The real super beauty9
Download software ranking
C#COM编程指南
I for your crazy
卡丁车单机版
Professional killers2 for Android
Unix video tutorial13
仙剑奇侠传98硬盘WINXP版
天龙八部十二宫服务端
Tram sex maniac 2 (H) rar bag11
C#编程思想
Wild things 2
归海一刀 published in(发表于) 2014/3/16 2:51:35 Edit(编辑)
ajax代理程序自动判断字符编码_[AJAX教程]

ajax代理程序自动判断字符编码_[AJAX教程]

ajax代理程序自动判断字符编码_[AJAX教程]

由于ajax在跨域的访问上有问题,目前最好的方法是做代理.写了个代理程序和心得.


为了做ajax的代理,研究了下服务器端的xmlhttp并和客户端的ajax中的xmlhttp做了个比较,后台代码是asp的.


服务器端的xmlhttp也就是asp小偷程序,我把代码改成了javascript.


1.在服务器端的xmlhttp.Open("GET",url,false)异步必须是关闭的,而客户端的异步是打开的,这个很好理解.
2.在服务器端的xmlhttp.Responsebody 这里用的是Responsebody而不是ResponseText或ResponseXml,一开始我是用ResponseText,但在函数bytesToBSTR转换编码的时候提示错误,经过比较发现其他的asp小偷程序里的代码都是Responsebody,分析后,发现body返回来的是二进制数据而不是像ResponseText或ResponseXml那样返回字符或dom对象.


ajax的asp代理函数介绍:
send_request(url) ,url为地址


服务器端代码如下带自动判断所有字符编码,已测试 日语 韩语 繁体:


<%@LANGUAGE="JAVASCRIPT" CODEPAGE="65001"%>


"http://www.w3.org/TR/html4/loose.dtd">



XMLHTTP

<%


Server.ScriptTimeout=9999999;
function send_request(url) {
var codedtext;
http_request = Server.CreateObject("Microsoft.XMLHTTP");
http_request.Open("GET",url,false);
http_request.Send(null);
if (http_request.ReadyState == 4){
//自动判断编码开始
var charresult = http_request.ResponseText.match(/CharSet=(\S+)\">/i);
if (charresult != null){
var Cset = charresult[1];
}else{Cset = "gb2312"}//对获取不到的网站采用gb2312编码,可自行更改

//自动判断编码结束
codedtext = bytesToBSTR(http_request.Responsebody,Cset);
}else{
codedtext = "Erro";
}
return(codedtext);
}


function bytesToBSTR(body,Cset){
var objstream;
objstream = Server.CreateObject("Adodb.Stream");
objstream.Type = 1;
objstream.Mode = 3;
objstream.Open();
objstream.Write(body);
objstream.Position = 0;
objstream.Type = 2;
objstream.Charset = Cset;
bytesToBSTR = objstream.Readtext;
objstream.Close;
return(bytesToBSTR);
}


%>

<% Response.Write(send_request("http://www.daum.net")) %>


作者:llinzzi 来源:蓝色理想





添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.