文章详情页
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. docker gitlab 如何git clone?2. font-family - 我引入CSS3自定义字体没有效果?3. android - 目前有哪些用Vue.js开发移动App的方案?4. docker start -a dockername 老是卡住,什么情况?5. 在windows下安装docker Toolbox 启动Docker Quickstart Terminal 失败!6. objective-c - iOS开发支付宝和微信支付完成为什么跳转到了之前开发的一个app?7. PHP中的$this代表当前的类还是方法?8. docker images显示的镜像过多,狗眼被亮瞎了,怎么办?9. java - 我用Tomcat访问SQL server数据库时,出现以下错误,该怎么解决?10. angular.js - 求一款angular插件
排行榜