使用 cfhttp 从 bitly url 检索页面内容时出错
Error using cfhttp to retrieve page contents from bitly url
我正在使用 cfhttp (Lucee Server) 通过以下方式从 url 抓取页面内容:
<cfhttp url="#libs.originalAdPage#" method="GET" />
然后我将此内容放在我页面上的 div 中。
这段代码已经运行了很长时间。
我需要报告 url 的内容已被抓取,并且该信息被放置在我无法控制的另一个网站表单中。我决定将 url 转换为稍微缩短的 url。我在页面内置过程中创建了一个link和return,即url来替换现有的url。
如果我使用来自 linkedin 的缩短 url 的页面,该页面将被抓取并正确显示在 div。
<cfhttp url="http://bit.ly/1NPhPgc" method="GET" />
但是,如果我对 Indeed.com 页面执行相同的 cfhttp 调用,该页面稍微缩短 URL,我会收到连接失败错误。
<cfhttp url="http://bit.ly/1RQvlim" method="GET" />[![cfdump of connection failure][1]][1]
如果我直接在浏览器中打开此 URL 页面会正确显示。
如有任何想法,我们将不胜感激。
谢谢,
迈克尔
我无权访问 Lucee 服务器进行测试,但是 ColdFusion 服务器上的 cfhttp 对于这两个 URL 来说对我来说工作正常。 cfhttp 遵循重定向并且 FileContent 包含预期的 indeed.com 页面。
如果您阻止 cfhttp 自动跟踪重定向以便您可以手动调试和跟踪重定向,您是否验证过 Bitly Indeed URL 会发生什么情况?即
<cftry>
<cfhttp url="http://bit.ly/1RQvlim" method="GET" redirect="no" />
<cfdump var="#cfhttp.responseHeader#" />
<cfhttp url="#cfhttp.responseHeader.Location#" method="GET" />
<cfdump var="#cfhttp#" label="cfhttp2" />
<cfcatch>
<cfdump var="#cfcatch#" label="cfcatch" />
</cfcatch>
</cftry>
Indeed.com 一定要注意抓取工具和用户代理 - 只需查看它们的 robots.txt 即可获得证据。
如果 Lucee 的 cfhttp 实施或您的 IP 地址有特定问题(例如,由于所有抓取而被列入黑名单),您是否可以访问其他服务器进行测试?
调整 cfhttp 用户代理 and/or 任何其他 headers
我正在使用 cfhttp (Lucee Server) 通过以下方式从 url 抓取页面内容:
<cfhttp url="#libs.originalAdPage#" method="GET" />
然后我将此内容放在我页面上的 div 中。
这段代码已经运行了很长时间。
我需要报告 url 的内容已被抓取,并且该信息被放置在我无法控制的另一个网站表单中。我决定将 url 转换为稍微缩短的 url。我在页面内置过程中创建了一个link和return,即url来替换现有的url。
如果我使用来自 linkedin 的缩短 url 的页面,该页面将被抓取并正确显示在 div。
<cfhttp url="http://bit.ly/1NPhPgc" method="GET" />
但是,如果我对 Indeed.com 页面执行相同的 cfhttp 调用,该页面稍微缩短 URL,我会收到连接失败错误。
<cfhttp url="http://bit.ly/1RQvlim" method="GET" />[![cfdump of connection failure][1]][1]
如果我直接在浏览器中打开此 URL 页面会正确显示。
如有任何想法,我们将不胜感激。
谢谢,
迈克尔
我无权访问 Lucee 服务器进行测试,但是 ColdFusion 服务器上的 cfhttp 对于这两个 URL 来说对我来说工作正常。 cfhttp 遵循重定向并且 FileContent 包含预期的 indeed.com 页面。
如果您阻止 cfhttp 自动跟踪重定向以便您可以手动调试和跟踪重定向,您是否验证过 Bitly Indeed URL 会发生什么情况?即
<cftry>
<cfhttp url="http://bit.ly/1RQvlim" method="GET" redirect="no" />
<cfdump var="#cfhttp.responseHeader#" />
<cfhttp url="#cfhttp.responseHeader.Location#" method="GET" />
<cfdump var="#cfhttp#" label="cfhttp2" />
<cfcatch>
<cfdump var="#cfcatch#" label="cfcatch" />
</cfcatch>
</cftry>
Indeed.com 一定要注意抓取工具和用户代理 - 只需查看它们的 robots.txt 即可获得证据。
如果 Lucee 的 cfhttp 实施或您的 IP 地址有特定问题(例如,由于所有抓取而被列入黑名单),您是否可以访问其他服务器进行测试?
调整 cfhttp 用户代理 and/or 任何其他 headers