首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > CGI >

能否用CGI写一个在服务器端访问其他网站的asp文件,返回asp执行后的结果?解决办法

2012-03-25 
能否用CGI写一个在服务器端访问其他网站的asp文件,返回asp执行后的结果?很惭愧,我不懂CGI。虚心向各位CGI版

能否用CGI写一个在服务器端访问其他网站的asp文件,返回asp执行后的结果?
很惭愧,我不懂CGI。虚心向各位CGI版的XDJM们请教。

我用ASP写了一个网页,返回结果只是字符串的“1”或者“0”,连HTML标签也没有。
如果用客户端的AJAX访问就简单了。可是我希望用CGI写的网页在它的服务器端能够使用XMLHttpRequest或其他方式访问我的ASP网页,将ASP返回的字符串(1或0)保存在CGI的Session里。

要求:
1、最好写1个函数,名称是CheckAJAX,参数是访问的ASP的URL。函数内部用XMLHttpRequest或其他方式访问URL,返回ASP网页的结果,不使用异步访问。
如果用XMLHttpRequest,open方法的三个参数是 "GET "、URL、false。
2、这个CGI文件也需要代入两个参数:MyID和MyCode。这两个参数是提交到这个CGI文件的表单中文本框的名称。
用CGI实现类似下面代码的功能(我的是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>

似乎CGI不能和HTML同时存在,那么我的要求不能实现吗?
非常感激!

[解决办法]
兄弟, 分不是问题.
问题是昨天看你的问题 n 遍都没看清楚你想做什么.
现在看到你的最后几句话, 才知道你想做什么(^o 呵呵, 夸张了点).



你这原理, 其它语言编写方法与之类似.
原理: (1) 浏览器访问 A 站点
(2) A 站点再访问 B 站点
(3) A 站点把 B 的应答, 重新组织返馈给浏览器.

只要注意一点, 就是其它语言都不一定全有服务器 AJAXRequest 对象.
这并不可怕, 可以直接使用 socket 等网络编程接口自己写段 http 请求的处理程序.

实例:
300 行代码 打磨自己的搜索引擎 myso
http://bbs.chinaunix.net/viewthread.php?tid=890886


Seesion 跨域共享的方法见过很多, 并各有利弊.
最常用的是通过 "终端标识(如IP + 浏览器端cookie) " +
"服务器端定制 session 存取(如把session数据放在同一数据库) " 实现共享.


另外, CGI 本身是并不复杂的概念,
但对初学者(特别是用惯了 ASP/JSP/PHP的程序员) 确实很多力不从力之处.
因为, CGI 是标准不是工具, 全部从头开发太累.

CSP/eybuild 是基于 CGI 标准的 WEB 开发工具, 跟 ASP/JSP/PHP 用法差不多,
但它几乎不需要你撑握任何 CGI 的东西.
可以了解下 http://www.eybuild.com

热点排行