可不可以用ColdFusion写一个在服务器端访问其他网站的asp文件,返回asp执行后的结果
发布时间:2010-06-14 17:24:24 文章来源:www.iduyao.cn 采编人员:星星草
能否用ColdFusion写一个在服务器端访问其他网站的asp文件,返回asp执行后的结果?
很惭愧,我不懂CF。虚心向各位CF版的XDJM们请教。
我用ASP写了一个网页,返回结果只是字符串的“1”或者“0”,连HTML标签也没有。
如果用客户端的AJAX访问就简单了。可是我希望用CF写的网页在它的服务器端能够使用XMLHttpRequest或其他方式访问我的ASP网页,将ASP返回的字符串(1或0)保存在CF的Session里。
要求:
1、最好写1个函数,名称是CheckAJAX,参数是访问的ASP的URL。函数内部用XMLHttpRequest或其他方式访问URL,返回ASP网页的结果,不使用异步访问。
如果用XMLHttpRequest,open方法的三个参数是"GET"、URL、false。
2、这个CF文件也需要代入两个参数:MyID和MyCode。这两个参数是提交到这个CF文件的表单中文本框的名称。
用CF实现类似下面代码的功能(我的是ASP代码):
/****开始****/
/*表单中名称为MyCode的文本框中输入了文字,asp代码*/
<%
If Request.Form("MyCode") <>"" Then
/*执行CheckAJAX函数,代入URL参数,将返回内容存入Session变量"Result"中。
/*需要加入时间戳,使不能使用缓存。ASP的Timer可以返回从半夜零点开始到现在的毫秒数
Session("Result") = CheckAJAX("http://www.AAAAA.com/Check.asp" _
"?TimeStamp=" & Timer & _
"&ID=" & Request.Form("MyID") & _
"&Code=" & Request.Form("MyCode"))
End If
%>
<p>这是HTML代码。URL返回结果是:<%=Session("Result")%></p>
/*ASP代码*/
<%
If Session("Result") = "1" Then
Response.Write("<p>是1</p>")
Else
Response.Write("<p>不是1</p>")
End If
%>
/****结束****/
3、请写出完整的包括HTML的代码。就是包括:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>
<body>
</body>
</html>
非常感激!
------解决方案--------------------
<cfhttp url="http://abc.com/abc.asp" method="POST" resolveurl="YES">
<cfhttpparam name = "form_test" type = "FormField" value = "This is a form variable">
</cfhttp>
CFHTTP标签是功能最强大的CFML标签之一,它可以用来:
· 从网络上获取网页和查询结果。
· 向远程服务器,CFML模板或CGI应用程序传送数据并处理返回数据。
超文本传输协议(HTTP)处理Web服务器之间的各种通信。执行一个事务处理所采取的方法决定了服务器处理什么以及什么内容被传送给浏览器。除了HTML文档之外,HTTP还支持二进制文件,图象、音频和视频等内容类型。HTTP协议标准规定,用户的请求信息和服务器的响应信息,以及事务处理的状态信息均以请求标题和响应标题的形式被传递。HTTP协议有几种通信方法,用于在客户和服务器之间交换信息。CFHTTP标签实现了最常用的HTTP通信方法:GET和POST. CFHTTP的语法非常简单,但它提供了许多选项,用于指定输出,处理链接以及建立查询等任务。
CFHTTP的语法
CFHTTP 标签的基本语法如下:
<CFHTTP URL=" hostname"
USERNAME=" username"
PASSWORD=" password"
NAME=" queryname"
COLUMNS=" query_columns"
PATH=" path"
FILE=" filename"
METHOD=" get_or_post"
DELIMITER=" character"
TEXTQUALIFIER=" character"
RESOLVEURL=" Yes/No"
PROXYSERVER=" hostname">
</CFHTTP>
处理所获网页中的链接
要保持通过CFHTTP从Web服务器获取的网页中的相对链接,应将RESOLVEURL属性设为“Yes”。当RESOLVEURL=YES时,下列可能包含链接的标签会被处理:
· IMG SRC
· A HREF
· RORM ACTION
· APPLET CODE
· SCRIPT SRC
· EMBED SRC
· EMBED PLUGINSPACE
· BODY BACKGROUND
· FRAME SRC
· BGSOUND SRC
· OBJECT DATA
· OBJECT CLASSID
· OBJECT C0DEBASE
· OBJECT USEMAP
注意:如果获取的网页中某个URL指向一个二进制文件,则该网页不被显示。你可以输入一个路径作为PATH属性的值,从而把该二进制文件保存到本地计算机中。
使用CFHTTP的Get方法
Get方法于从指定的服务器获取文本文件或二进制文件。下面的几个例子演示了几种常用的Get操作。Get方法是一种单向的事务处理方法,CFHTTP用这种方法获得一个对象,而Post方法是双向的处理方法,CFHTTP用Post方法向ColdFusion文件或CGI程序传递变量,并接收和处理返回的数据。
例子:获取到变量中
下面的例子用Get方法请求Yahoo站点的缺省主页,并将文件内容保存到一个变量中,然后用CFOUTPUT将该变量的内容显示在浏览器中。
<CFHTTP METHOD="Get"
URL="http://www.yahoo.com/index.shtml"
RESOLVEURL="Yes">
<CFOUTPUT>
#CFHTTP.FileContent# <BR>
</CFOUTPUT>
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。
其他相似内容:
-
3D MAX导出MD2,delphi开发
我用dilphi开发3D游戏,想用3D MAX导出MD2建立关键针动画,然后用dilphi调用关键针,可是现在出现2个问...
-
coldfusion怎么整合框架?
如题coldfusion怎么整合框架? 有没有例子 谁给讲解下,谢谢!
------解决方案--------------------
其实,在...
-
coldfusion的正则表达式中文支持怎么样?
coldfusion的正则表达式中文支持怎么样?有没有问题?我用的的是coldfusion 9
因为要用的一...
-
求教
请问,哪里有GLscene的中文教程,视频也可.谢谢
------解决方案--------------------
http://technology.jfcms.net/cx/Delp...
-
Provider '80020005'
Provider '80020005'
类型不匹配。
\admin\add_products.asp, line 167
<!--#include file="../i...
-
我们打开一个网页的原理是什么?
我觉得是服务器端传输一个文档过来,然后由ie(或者其它的)编译,呈现我们面前的就是我们打开的网页了
-...
-
我想循环输出一个 cfgrid
rt
------解决方案--------------------
cfgrid有个query属性的。
------解决方案-----------------...
-
coldfusion
cf中上传可以控制大小吗?如何控制?
------解决方案--------------------
上传前可以先得到文件大小,之后再决定是否要上...
-
C# 发送一个网页邮件 怎么做
我用System.Net.Mail;做的,可是它的属性就那么几个。怎么办?
------解决方案--------------------
M...
-
coldfusion 9 连接Access出错???
各位大侠帮忙看看,为何我用coldfusion 9 连接Access时,显示OK,连接Access unicode时却出现以下错误信...