我试图通过传递登录窗口并在fancybox页面中加载统计信息来连接到更智能的统计网站
到目前为止,这是我的代码:但这似乎不起作用
<cfhttp method="post" url="https://stats.ezhostingserver.com/" resolveurl="true" redirect="true">
<cfhttpparam type="FORMFIELD" name="ctl00$MPH$txtUserName" value="test.ca">
<cfhttpparam type="FORMFIELD" name="ctl00$MPH$txtPassword" value="mypwd!">
<cfhttpparam type="FORMFIELD" name="ctl00$MPH$txtSiteId" value="12343">
</cfhttp>
<cfif cfhttp.statuscode EQ '200 OK'>
<cfhttp result="results" url="https://stats.ezhostingserver.com/default.aspx"/>
<cfoutput>
#results.filecontent#
</cfoutput>
</cfif>
每次加载页面时都会出现问题
http://domain.in/index.cfm 它回来了 http://domain.in/stats/Login.aspx
我正在使用hostek网站的域名提供域名
答案 0 :(得分:0)
您的代码以这种方式运行的原因是因为cfhttp
标记中的初始URL返回HTTP 302重定向。然后,因为您将redirect
标记的cfhttp
属性设置为true
,所以它实际上正在执行重定向。查看该属性的documentation:
重定向 - 如果响应标头包含“位置”字段并且ColdFusion收到300系列(重定向)状态代码,请指定是否将执行重定向到字段中指定的URL:
- 是:将执行重定向到指定的页面。
- no:停止执行并返回cfhttp变量中的响应信息,如果throwOnError属性为True则抛出错误。
cfhttp.responseHeader.Location变量包含重定向路径。 ColdFusion在请求中最多遵循四个重定向。如果还有更多,ColdFusion函数就好像redirect =“no” 注意: cflocation标记生成HTTP 302响应,并将url属性作为Location标头值。
因此,不要使用cfhttp
请求的初始网址,而是尝试使用重定向到的网址。并将redirect
属性设置为false
。但请注意,如果将该属性设置为false,则标记会在获取重定向状态代码时抛出错误,因此您需要处理该错误。
示例:
<cfhttp method="post"
url="https://stats.ezhostingserver.com/Login.aspx"
resolveurl="true"
redirect="false">