关于取得网页中的内容的方法 var xt = new ActiveXObject("Microsoft.XMLHTTP")xt.open("get","http://xxx.xxx.xxx.xxx/xxx.php?a=1&b=2",false)xt.setRequestHeader("Content-Type","text/html")xt.send()alert(xt.responseText) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 谢谢各位to cqfeng() 给方法直接将地址转向了to shoutor(土人制造),CtrlT(我自由!我变坏!) 两位的方法是一个,但是我比较菜,而且用的是C# ,是不是要在项目中引用XMLHttp?望能详细解答,谢谢! 以下代码出错! MSXML2.XMLHTTP xh=new XMLHTTPClass(); xh.open("get","https://xxxxx/aaaa.php?a=1&b=2",false,"",""); xh.setRequestHeader("Content-Type","text/html"); xh.send("");//错在这一句。安全性错误 Page.Response.Write(xh.responseText); 天啊,难道xmlhttp不能访问https的网址吗?还是我那里没有设置对? 这个XMLHTTP是客户端的,与服务器端采用什么技术无关! 但是同样的网址,用http成功,用https失败! HttpWebRequest,HttpWebResponsebyte[] SomeBytes=null;HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create("对方页面URL");myHttpWebRequest.AllowAutoRedirect =true;myHttpWebRequest.Method="POST";myHttpWebRequest.ContentType = "application/x-www-form-urlencoded";myHttpWebRequest.UserAgent=".net writer gpc";PostStr=""; PostStr=PostStr+"pwd="+Server.UrlEncode("aHh4bQ==");PostStr=PostStr+"&cpid="+Server.UrlEncode(basecpid);PostStr=PostStr+"&srvid="+Server.UrlEncode(baseserverid);SomeBytes = Encoding.ASCII.GetBytes(PostStr);myHttpWebRequest.ContentLength = SomeBytes.Length;Stream newStream = myHttpWebRequest.GetRequestStream();newStream.Write(SomeBytes,0,SomeBytes.Length);newStream.Close();HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse(); StreamReader srRead = new StreamReader(myHttpWebResponse.GetResponseStream(),System.Text.Encoding.ASCII);string mystr=srRead.ReadToEnd();//取得对方页面的返回内容 <%@ Page language="C#" Trace="True" %><%@ Import Namespace="System.Net" %><%@ Import Namespace="System.IO" %><html><head> <SCRIPT runat="server"> void Page_Load(Object sender, EventArgs e) { WebRequest req = WebRequest.Create("http://www.im286.com/index.php"); string urliii="src="; //图片使用绝对连接 urliii+="http://www.im286.com/"; try { WebResponse result = req.GetResponse(); Stream ReceiveStream = result.GetResponseStream(); Byte[] read = new Byte[512]; int bytes = ReceiveStream.Read(read, 0, 512); lblHTML.Text = ""; while (bytes > 0) { // 注意: // 下面假定响应使用 gb2312 作为编码方式。 // 如果内容以 ANSI 代码页形式(例如,932)发送,则使用类似下面的语句: //Encoding encode = System.Text.Encoding.GetEncoding("shift-jis"); Encoding encode = System.Text.Encoding.GetEncoding("gb2312"); lblHTML.Text = lblHTML.Text + encode.GetString(read, 0, bytes); bytes = ReceiveStream.Read(read, 0, 512); } } catch(Exception) { lblHTML.Text = "检索页时出错"; } lblHTML.Text = lblHTML.Text.Replace("src=",""+urliii+""); lblHTML.Text = lblHTML.Text.Replace("\"",""); }</SCRIPT></head><body> <form method="post" action="Webrequest.aspx" runat="server"> <asp:Label runat=server ID="lblHTML" Rows="30" Cols="80" EnableViewState="false" Wrap="True"></asp:Label> </form></body></html> 对了,使用上述方法需要对方那个页面的请求方法为POST 谢谢各位!使用https的错误为基础连接已经关闭: 无法与远程服务器建立信任关系。经搜索,好像ServerXMLHTTP 可以做到用https连接,但我试了好久没能成功,请各位多多帮忙! 请教老鸟一个问题:怎么在后台动态控制前台的静态标签 很喜欢一个网站系统,不过没有源码,请教反编译方法 装个控制网速的系统哪里有啊,怎么装啊 asp.net皮肤 为什么工具箱的控件只能通过双击添加啊~~~ SQL SERVER数据库更新不了 VS2005的GridView问题,大家帮帮忙啊 我的工作室网站,大家看看如何,呵 Session问题,各位帮看看。 请教:我的WEB应用该如何发布? 简单的问题 请问,如何实现treeview控件的节点点击响应事件?
to cqfeng() 给方法直接将地址转向了to shoutor(土人制造),CtrlT(我自由!我变坏!)
两位的方法是一个,但是我比较菜,而且用的是C# ,是不是要在项目中引用XMLHttp?望能详细解答,谢谢!
xh.open("get","https://xxxxx/aaaa.php?a=1&b=2",false,"","");
xh.setRequestHeader("Content-Type","text/html");
xh.send("");//错在这一句。安全性错误 Page.Response.Write(xh.responseText);
还是我那里没有设置对?
HttpWebRequest,HttpWebResponse
byte[] SomeBytes=null;HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create("对方页面URL");
myHttpWebRequest.AllowAutoRedirect =true;
myHttpWebRequest.Method="POST";
myHttpWebRequest.ContentType = "application/x-www-form-urlencoded";
myHttpWebRequest.UserAgent=".net writer gpc";
PostStr="";
PostStr=PostStr+"pwd="+Server.UrlEncode("aHh4bQ==");
PostStr=PostStr+"&cpid="+Server.UrlEncode(basecpid);
PostStr=PostStr+"&srvid="+Server.UrlEncode(baseserverid);
SomeBytes = Encoding.ASCII.GetBytes(PostStr);
myHttpWebRequest.ContentLength = SomeBytes.Length;
Stream newStream = myHttpWebRequest.GetRequestStream();
newStream.Write(SomeBytes,0,SomeBytes.Length);
newStream.Close();
HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();
StreamReader srRead = new StreamReader(myHttpWebResponse.GetResponseStream(),System.Text.Encoding.ASCII);
string mystr=srRead.ReadToEnd();//取得对方页面的返回内容
<%@ Import Namespace="System.Net" %>
<%@ Import Namespace="System.IO" %><html>
<head>
<SCRIPT runat="server">
void Page_Load(Object sender, EventArgs e) { WebRequest req = WebRequest.Create("http://www.im286.com/index.php");
string urliii="src="; //图片使用绝对连接
urliii+="http://www.im286.com/";
try {
WebResponse result = req.GetResponse();
Stream ReceiveStream = result.GetResponseStream(); Byte[] read = new Byte[512];
int bytes = ReceiveStream.Read(read, 0, 512); lblHTML.Text = "";
while (bytes > 0)
{ // 注意:
// 下面假定响应使用 gb2312 作为编码方式。
// 如果内容以 ANSI 代码页形式(例如,932)发送,则使用类似下面的语句:
//Encoding encode = System.Text.Encoding.GetEncoding("shift-jis");
Encoding encode = System.Text.Encoding.GetEncoding("gb2312");
lblHTML.Text = lblHTML.Text + encode.GetString(read, 0, bytes);
bytes = ReceiveStream.Read(read, 0, 512);
}
} catch(Exception) {
lblHTML.Text = "检索页时出错";
}
lblHTML.Text = lblHTML.Text.Replace("src=",""+urliii+"");
lblHTML.Text = lblHTML.Text.Replace("\"","");
}
</SCRIPT>
</head><body> <form method="post" action="Webrequest.aspx" runat="server">
<asp:Label runat=server ID="lblHTML" Rows="30" Cols="80" EnableViewState="false" Wrap="True"></asp:Label>
</form></body>
</html>
使用https的错误为
基础连接已经关闭: 无法与远程服务器建立信任关系。
经搜索,好像ServerXMLHTTP 可以做到用https连接,但我试了好久没能成功,请各位多多帮忙!