使用cfhttp从bitly url检索页面内容时出错
我使用cfhttp(Lucee服务器)按以下方式从网址中抓取页面内容:
<cfhttp url="#libs.originalAdPage#" method="GET" />
然后我把这个内容放在我的页面上的div上。
这段代码一直工作很长时间。
我需要报告已经为其内容刮取的网址,并且该信息被放入另一个不受我控制的网站表单中。 我决定将网址转换为缩短网址的网址。 我在页面中建立了一个进程,创建一个轻微的链接,并返回该网址来替换现有的网址。
如果我使用带有来自linkedin的缩短网址的页面,则该页面会在div中正确显示并被正确显示。
<cfhttp url="http://bit.ly/1NPhPgc" method="GET" />
但是,如果我对与Short URL匹配的Indeed.com网页执行完全相同的cfhttp调用,则会出现连接失败错误。
<cfhttp url="http://bit.ly/1RQvlim" method="GET" />[![cfdump of connection failure][1]][1]
如果我直接在浏览器中打开此URL,则页面显示正确。
任何想法将不胜感激。
谢谢,
迈克尔
我无法访问Lucee服务器进行测试,但对于这两个比特URL,对于我来说ColdFusion服务器上的cfhttp可以正常工作。 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 useragent和/或任何其他头如何通过cfhttp模拟一个真正的http请求?
链接地址: http://www.djcxy.com/p/31239.html上一篇: Error using cfhttp to retrieve page contents from bitly url