在 PHP 中有一个简单的函数,叫做 file_get_contents
,如果我想在 google.com 上检索和显示 HTML,我会这样做:
<?php
$html = file_get_contents('http://www.google.com/');
echo $html;
?>
ColdFusion 中是否有与此等效的东西?您能否将外部站点的输出检索到字符串变量中(然后相应地对其进行操作)?
最佳答案
最简单的跨引擎等价于你所写的是:
<cfhttp url="http://www.google.com/" />
<cfset html = cfhttp.FileContent />
<cfoutput>#html#</cfoutput>
您可以指定自动创建的 cfhttp 变量的替代方法,如下所示:
<cfhttp url="http://www.google.com/" result="Response" />
<cfset html = Response.FileContent />
<cfoutput>#html#</cfoutput>
这两者都适用于所有主要的 CFML 引擎( Adobe CF 、 OpenBD 、 Railo )。
您可以在 cfhttp documentation 中看到全套选项(方法、参数、代理设置等)。 , 要查看完整的响应结构,只需使用
<cfdump var=#cfhttp#/>
在调用之后(或任何结果变量的名称)。有一个与 Railo 一起工作的额外选项,它更直接地是你在 PHP 中得到的,像这样:
<cfset html = FileRead('http://www.google.com/') />
<cfoutput>#html#</cfoutput>
这是有效的,因为 Railo 有资源(虚拟文件系统),所以在任何可以进行文件操作的地方,都可以使用各种虚拟文件系统,包括 HTTP、ZIP、RAM 等。
(Adobe 也开始添加虚拟文件系统,但我认为到目前为止只支持 RAM,所以这在那里不起作用。)
关于coldfusion - 如何将外部网站的 HTML 检索到 ColdFusion 中的变量中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3230456/