一个很难办的问题,关于调用其他网页的数据,请各位高手进来坐坐。
我想在我的网页中调用另一个网站一个网页上的数据。
我只知道他的网址。请问有什么办法能实现:对方更新数据我这里也能自动更新。
对方是泰文的网站,我做的是中文的,因此只能调用数据,不能全部调用网页内容。
我想了好久,请各位高手出出主意。
晚生这里谢谢了。
问题点数:100、回复次数:6Top
1 楼cqq(脑电波)回复于 2004-09-03 23:25:09 得分 0
在goolge中搜索 xmlhttpTop
2 楼liuxiaoyi666(MSMVP 小猪妹荣誉马甲之八卦兔子)回复于 2004-09-03 23:25:21 得分 0
XMLHTTPTop
3 楼zltostem(五湖沸人)回复于 2004-09-03 23:26:18 得分 0
当然是和他访问同一个数据库了~~~Top
4 楼liuxiaoyi666(MSMVP 小猪妹荣誉马甲之八卦兔子)回复于 2004-09-03 23:29:30 得分 100
今天我见到过个类似的,如果能访问数据库也可以了…………Top
5 楼liuxiaoyi666(MSMVP 小猪妹荣誉马甲之八卦兔子)回复于 2004-09-03 23:34:30 得分 0
<html>
<head>
<title>利用XMLHTTP检测网址及探测服务器类型</title>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<meta name="Generator" content="EditPlus">
<meta name="Author" content="JnKc">
<meta name="Keywords" content="">
</head>
<body>
<input type="text" id="jnkcInput" value="http://www.csdn.net" size="50"><button id="chk">检测</button>
<div id="jnkc_show"></div>
<SCRIPT LANGUAGE="VBScript">
Dim i,jnkcUrl,jnkcHTML,jnkcStatus,jnkcServer
Function chk_onClick()
jnkcUrl = jnkcInput.value
Call GetDetail
i = i+1
jnkc_show.innerHTML = "<hr><pre><font color=red>" & i & "、" & jnkcUrl & "</font><br>" & jnkcStatus & "</pre>" & jnkc_show.innerHTML
End Function
Dim jnkcXMLHTTP
Sub GetDetail
Set jnkcXMLHTTP = CreateObject("Microsoft.XMLHTTP")
jnkcXMLHTTP.OnReadyStateChange = GetRef("GetStatus")
jnkcXMLHTTP.Open "GET", jnkcUrl, False
On Error Resume Next
jnkcXMLHTTP.Send
Set jnkcXMLHTTP = Nothing
End Sub
Sub GetStatus
If jnkcXMLHTTP.ReadyState <> 4 Then
Exit Sub
End If
If jnkcXMLHTTP.Status = 404 Then
jnkcStatus = "该网页不存在!"
ElseIf jnkcXMLHTTP.Status < 200 Then
jnkcStatus = "客户端错误,信息:" & CStr(jnkcXMLHTTP.Status) & " " & jnkcXMLHTTP.StatusText
ElseIf jnkcXMLHTTP.Status < 300 Then
jnkcStatus = "成功,该网页能访问。"
ElseIf jnkcXMLHTTP.Status < 400 Then
jnkcStatus = "重定向,信息:" & CStr(jnkcXMLHTTP.Status) & " " & jnkcXMLHTTP.StatusText
ElseIf jnkcXMLHTTP.Status < 500 Then
jnkcStatus = "客户端错误,信息:" & CStr(jnkcXMLHTTP.Status) & " " & jnkcXMLHTTP.StatusText
ElseIf jnkcXMLHTTP.Status < 600 Then
jnkcStatus = "服务器错误,信息:" & CStr(jnkcXMLHTTP.Status) & " " & jnkcXMLHTTP.StatusText
Else
jnkcStatus = "域名不可用或网络连接错误,信息:" & CStr(jnkcXMLHTTP.Status) & " " & jnkcXMLHTTP.StatusText
End If
If jnkcXMLHTTP.Status < 600 Then Call GetServer
End Sub
Sub GetServer
jnkcServer = jnkcXMLHTTP.GetResponseHeader("Server")
If jnkcServer <> "" Then
jnkcStatus = jnkcStatus & "<br>HTTP服务器:" & jnkcServer
End If
jnkcStatus = "<b>" & jnkcStatus & "</b><br>所有反馈信息:<br>"& jnkcXMLHTTP.GetAllResponseHeaders
End Sub
</SCRIPT>
</body>
</html>
Top
6 楼liuxiaoyi666(MSMVP 小猪妹荣誉马甲之八卦兔子)回复于 2004-09-03 23:37:28 得分 0
不同网站的数据如何传递了?
俺不知道该如何实现以下这样的情况:
1。有两个网站,
2,网站1要调用网站2的一个页面,这个页面是用于返回一个值的。
而网站2的页面中包含了数据库的记录,但又不想让网站1也有这个数据,
只是给他们一个链接,然后通过用户选择返回一个值。
问题出来了:
在同一个网站下的时候,一个页面返回一个值给打开他的父窗体,
可以用opener.document.form1.name
可当打开的页面就是网站2和网站1是不同网站的时候,
网站2页面返回一个值的时候,出现了“拒绝访问”的错误。
当然如果使用参数往回传是可以的。可因为网站1的页面是一张比较大的表格,
所以对于已经填写的记录不保留的话,刷新页面就丢失了,可保存的话很繁琐,
请教大侠,
该怎么做?有什么好的办法了?
---------------------------------------------------------------
xmlhttp:
a站下test.asp:
<script language=javascript>
function send()
{
strA="text=" + document.all.t1.value;
var oReq = new ActiveXObject("MSXML2.XMLHTTP");
oReq.open("POST","http://b/4.asp",false);
oReq.setRequestHeader("Content-Length",strA.length);
oReq.setRequestHeader("CONTENT-TYPE","application/x-www-form-urlencoded");
oReq.send(strA);
document.all.txt1.value=oReq.responseText;
}
</script>
<form name=frm>
<input type=text name=t1 >
<input type="button" value="查询" id=button1 name=button1 onclick=send()>
</form>
<hr>
<textarea name=txt1></textarea>
b站下4.asp:
<%
Response.CharSet="gb2312"
Response.ContentType="text/xml"
txt=Request.Form("text")
Response.Write "<xml version='1.0' encoding='gb2312'><root><txt>" & txt & "</txt><root>"
%>
返回XML数据,你可以处理下
---------------------------------------------------------------
返回XML串的中文问题,你可以在csdn上搜下,有很多
---------------------------------------------------------------
方法一:
Session("var")="123"
方法二:
<input type="hidden" name="var" value="123">
---------------------------------------------------------------
将oReq.open("POST","http://b/4.asp",false);中http://b/4.asp改为你的b站路径
---------------------------------------------------------------
faq中有些xmlhttp资料去看看
---------------------------------------------------------------
下载个MSXML4在服务器上安装
---------------------------------------------------------------
测试:
a站点:
------------------------------------------------------------
index.htm
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
<SCRIPT LANGUAGE=javascript>
<!--
window.open("index2.asp")
//-->
</SCRIPT>
</HEAD>
<BODY>
<INPUT type="text" id=text1 name=text1>
</iframe>
</BODY>
</HTML>
index2.asp
<html>
<head>
</head>
<body>
<hr>
<%
dim xmldoc,nodes
set xmldoc=server.CreateObject("msxml2.domdocument")
xmldoc.async=false
xmldoc.setProperty "ServerHTTPRequest",true
xmldoc.load "http://b/index.asp?c=1"
set nodes=xmldoc.selectNodes("//txt")
for i=0 to nodes.length-1
Response.Write "<input type=button name=b" & i & " value=" & nodes(i).text & " onclick='opener.document.all.text1.value=""测试" & nodes(i).text & """'><br>"
next
%>
</body>
</html>
------------------------------------------------------------
b站点:
index.asp
<%
Response.CharSet="gb2312"
Response.ContentType="xml/html"
c=Request.QueryString("c")
Response.Write "<root>"
if c="1" then
Response.Write "<txt>1</txt>"
Response.Write "<txt>2</txt>"
Response.Write "<txt>3</txt>"
Response.Write "<txt>4</txt>"
end if
Response.Write "</root>"
%>
Top




