通过 cfhttp 连接到更智能的统计数据
connecting to smarter stats through cfhttp
我正在尝试通过登录 window 连接到更智能的统计网站,并将统计信息加载到 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 网站提供域的统计数据
您的代码以这种方式运行的原因是因为您在 cfhttp
标记中的初始 URL 返回 HTTP 302 重定向。然后因为您将 cfhttp
标记的 redirect
属性设置为 true
它实际上正在执行重定向。查看该属性的 documentation:
redirect - If the response header includes a Location field AND ColdFusion receives a 300-series (redirection) status code, specifies whether to redirect execution to the URL specified in the field:
- yes: redirects execution to the specified page.
- no: stops execution and returns the response information in the cfhttp variable, or throws an error if the throwOnError attribute is True.
The cfhttp.responseHeader.Location variable contains the redirection path. ColdFusion follows a maximum of four redirects on a request. If there are more, ColdFusion functions as if redirect = "no".
Note: The cflocation tag generates an HTTP 302 response with the url attribute as the Location header value.
因此,不要为您的 cfhttp
请求使用初始 URL,请尝试使用它重定向到的 URL。并将 redirect
属性设置为 false
。但请注意,将该属性设置为 false,如果标签获得重定向状态代码,则会抛出错误,因此您需要对其进行处理。
示例:
<cfhttp method="post"
url="https://stats.ezhostingserver.com/Login.aspx"
resolveurl="true"
redirect="false">
我正在尝试通过登录 window 连接到更智能的统计网站,并将统计信息加载到 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 网站提供域的统计数据
您的代码以这种方式运行的原因是因为您在 cfhttp
标记中的初始 URL 返回 HTTP 302 重定向。然后因为您将 cfhttp
标记的 redirect
属性设置为 true
它实际上正在执行重定向。查看该属性的 documentation:
redirect - If the response header includes a Location field AND ColdFusion receives a 300-series (redirection) status code, specifies whether to redirect execution to the URL specified in the field:
- yes: redirects execution to the specified page.
- no: stops execution and returns the response information in the cfhttp variable, or throws an error if the throwOnError attribute is True.
The cfhttp.responseHeader.Location variable contains the redirection path. ColdFusion follows a maximum of four redirects on a request. If there are more, ColdFusion functions as if redirect = "no".
Note: The cflocation tag generates an HTTP 302 response with the url attribute as the Location header value.
因此,不要为您的 cfhttp
请求使用初始 URL,请尝试使用它重定向到的 URL。并将 redirect
属性设置为 false
。但请注意,将该属性设置为 false,如果标签获得重定向状态代码,则会抛出错误,因此您需要对其进行处理。
示例:
<cfhttp method="post"
url="https://stats.ezhostingserver.com/Login.aspx"
resolveurl="true"
redirect="false">