使用 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 地址有特定问题(例如,由于所有抓取而被列入黑名单),您是否可以访问其他服务器进行测试?

您是否尝试过根据 How to emulate a real http request via cfhttp?

调整 cfhttp 用户代理 and/or 任何其他 headers