coldfusion - 如何将外部网站的 HTML 检索到 ColdFusion 中的变量中?

标签 coldfusion

在 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 CFOpenBDRailo )。

您可以在 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/

相关文章:

sql-server - 结果在使用railo的cfquery中不起作用

Coldfusion 10 - 元素 [n] 在类型为 coldfusion.runtime.Array 的 Java 对象中未定义

mysql - 请求已超过 CFQUERY 标记允许的时间限制错误

html - Coldfusion PDF 中的字符集

exception-handling - 应该如何处理 ColdFusion 异常和 404 错误?

mysql - 我可以在 cfloop 中调用存储过程并在 Coldfusion 中输出动态输出参数吗?

jquery - JQuery 和论坛

coldfusion - 在 Coldfusion 中使用来自动态命名变量的列名

sql - 从电子邮件地址获取用户名/帐户名

coldfusion - CFCLIENT:文档示例不起作用;什么都做不了?