在访问一个奇怪的网站,需要会员才可以看里面的内容,只可以看,不可以拷贝。这不算奇怪。奇怪的是打开一条详细信息页面后,能够查看内容,刷新页面(F5)也能够再正常显示;但如果在地址栏再回车一次,则详细页面自动跳转到首页。就是直接在IE中直接输入地址打开一个明细页面是打不开的(哪怕你是会员已经登录),自动转向到首页。只有从首页(或者是二级页面)打开的详细页面才可以正常浏览!这样的结果是我用HTTPCLIENT这样的客户端去抓取数据时,自然为空。抓取的内容最后一段代码如下:
<script language=JavaScript>location.href='/';</script>
到这儿就没有了。好像是跳转了。详细信息根本没有办法抓取。请问哪位知道这种方式防止信息被抓取是何原理?如何解决?有意者可以私信联系。
<script language=JavaScript>location.href='/';</script>
到这儿就没有了。好像是跳转了。详细信息根本没有办法抓取。请问哪位知道这种方式防止信息被抓取是何原理?如何解决?有意者可以私信联系。
解决方案 »
- 关于ajax返回数据中包含js文件不执行的问题
- null为空或不是对象
- IE9如何禁用键盘的backspace退回上一页行为?
- JS滚动
- Ext tree 节点如何添加URl
- js报错怎么修改呀 ?
- 超级奇怪jquery ajax问题,IE8-以下时正常时不正常。FF,CH下正常。
- 做了一个loading效果,但有时页面加载得挺快,loading一出来,马上就进入页面了,我的loading代码如下(很简单的),怎么做可以让loading固定显
- 关于动态添加下拉列表选项的问题!
- 高手帮忙 请问这个怎么赋值
- JS 特效, 这个怎么实现? 100结贴
- Android手机上WEB浏览器javascript与fscommand通信的问题?
模拟成与他一样就骗过了
你把他的refer头和权限信息加入http请求就可以了。
HTTP Referer是header的一部分,当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器我是从哪个页面链接过来的,服务器籍此可以获得一些信息用于处理。比如从我的主页上链接到一个朋友那里,他的服务器就能够从HTTP Referer中统计出每天有多少用户点击我主页上的链接访问他的网站。(来自百度)
通过链接,submit提交表单或用javascript提交表单都会带上referer头信息,而直接在地址栏输入url或通过浏览器收藏夹访问网页则没有referer头域,所以你直接在浏览器敲回车发起的访问不带referer,后端服务器取不到referer信息就直接给你跳转到主页了,楼主可通过开发者工具看看发出的http请求信息。
而现在应该是被他用来做访问限制了,只有从本域名的页面引用过来的才可以.
做爬虫的时候可以在头信息中设置refer为他的主页就可以了.
而地址栏回车则会重新发起连接,不包含POST参数与Refer头信息(或为空)
HttpGet get = new HttpGet(url);
get.setHeader("Referer", "http://www.yoursite.com/");
HttpResponse response = client.execute(get);
HttpEntity entity = response.getEntity();
......