文章详情页
javascript - 跨域读取网站接口获取数据遭遇堵截
问题描述
今天用webpack的代理模式想要读取某网站的数据接口,来获取在线数据。结果返回200,以为成功了。打开数据一看,code返回500,直接被服务器判定恶意访问了。想请问碰到这种情况,有什么办法可以不被服务器判定为恶意访问而获取到正常数据吗?以下图一为状态码截图,图二为返回的数据。
问题解答
回答1:今天修改了接口后请求成功了,原因每次请求这个接口时,都发发送若干个参数给服务器,其中一个是token参数。我昨天在没有仔细看接口,觉得接口地址太长了,就把除了商铺ID以外的参数都删了,把token参数也删了。于是就出问题了。今天我吧token参数加上,就可以直接获取数据。不过奇怪的是,对方服务器判定token似乎只要有值即可,并不验证值,所以我吧token参数的值,改为任何字符都可以通过。
回答2:首先,data里面的500已经是响应报文数据里面的内容了,这就意味着那个500是人家程序员给你的500,而不是HTTP的状态码。这个500在人家那里意味着‘餐单正在维护。。。。。。’。
如果像你所说的,你被人家判定为恶意访问了,那这个是人家的某种不管是出于跨域请求方面的安全也好还是别的也好的策略,你能怎么办?只能让人家把的ip加到他的白名单里面,这样子成为他信任的访问者,然后给你返回你想要的数据。
回答3:先用正常方式抓包。看看请求中都发了什么信息(host、referer、cookie、ua啥的)。然后你请求的时候也带上同样的内容试试。
标签:
JavaScript
相关文章:
1. debian - docker依赖的aufs-tools源码哪里可以找到啊?2. dockerfile - [docker build image失败- npm install]3. docker images显示的镜像过多,狗眼被亮瞎了,怎么办?4. docker绑定了nginx端口 外部访问不到5. 如何判断数组写入数据库有重复的值6. boot2docker无法启动7. docker start -a dockername 老是卡住,什么情况?8. macos - mac下docker如何设置代理9. angular.js - angularjs移动端项目需要引入外部的PC网页,iframe宽高设定100%,显示的内容依然是PC那种效果,不是缩放成适配屏10. mac连接阿里云docker集群,已经卡了2天了,求问?
排行榜