文章详情页
javascript - 跨域读取网站接口获取数据遭遇堵截
浏览:154日期:2023-06-09 08:26:16
问题描述
今天用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. mysql - JAVA怎么实现一个DAO同时实现查询两个实体类的结果集2. sql语句 - 如何在mysql中批量添加用户?3. mysql建表报错,查手册看不懂,求解?4. PHP类属性声明?5. 求大神支招,php怎么操作在一个html文件的<head>标记内添加内容?6. 怎么php怎么通过数组显示sql查询结果呢,查询结果有多条,如图。7. 致命错误: Class ’appfacadeTest’ not found8. 老师们php,插入数据库mysql,都是空的,要怎么解决9. mysql - 数据库建字段,默认值空和empty string有什么区别 11010. phpstady在win10上运行
排行榜
