如何通过cfhttp模拟真正的http请求? [英] How to emulate a real http request via cfhttp?
本文介绍了如何通过cfhttp模拟真正的http请求?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我需要通过cfhttp模拟一个真正的http请求。
我用ColdFusion得到rss源,但今晚他们开始阻止我的请求,并发送一个索引页面响应而不是rss fead。
I need to emulate a real http request via cfhttp. I was getting rss feed with ColdFusion, but tonight they started to block my request and send an index page in response instead of rss fead.
我添加了useragent
I added useragent for cfhttp, but it doesn't help.
Opera,Firefox和Chrome可以从同一台计算机正确打开Feed。
Opera, Firefox and Chrome open feed correctly from the same computer.
推荐答案
是的,谢谢。我嗅探了浏览器发送到网站的所有HTTP头,然后在cfhttp请求中模拟它们。解决方案是:
Yep, thanks. I sniffed all HTTP headers which browser sends to the site and then emulated them in cfhttp request. The solution is:
<cfhttp url="http://example.com/feed"
useragent="Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/533.7 (KHTML, like Gecko) Chrome/5.0.391.0 Safari/533.7"
result="httpresult"
redirect="false"
>
<cfhttpparam type="header" name="HTTP_REFERER" value="http://example.com/feed/" >
<cfhttpparam type="header" name="Accept-Encoding" value="gzip,deflate,sdch" >
<cfhttpparam type="header" name="Proxy-Connection" value="keep-alive" >
<cfhttpparam type="header" name="Accept" value="application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5">
<cfhttpparam type="header" name="Accept-Language" value="en-US,en;q=0.8">
<cfhttpparam type="header" name="Accept-Charset" value="ISO-8859-1,utf-8;q=0.7,*;q=0.3">
<cfhttpparam type="cookie" name="some-cookie" value="1">
这篇关于如何通过cfhttp模拟真正的http请求?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文