有没有一种方法可以运行一个JavaScript函数,而不需要在网络选项卡中发出请求?

fhg3lkii  于 2023-08-02  发布在  Java
关注(0)|答案(1)|浏览(90)

好吧,这听起来很愚蠢,但这是我在JavaScript的第三个星期,我仍然在努力学习。所以我试图建立一个项目(刮工具), scrapy 网站B.但是当我试图从我的html调用函数时,它给了我NO-CORS或FORBIDDEN ERROR 403。经过一些谷歌搜索,我发现网站B只是阻止我,但每当我运行的js文件上vscode单独没有运行它从index.html它的工作完美,它实际上 scrapy 的数据
尝试使用几个CORS代理解决了NO-CORS部分,但我不明白为什么当我在vscode中运行我的JS文件时,它实际上会废弃网站B,但当我尝试使用它时,当我让我的网站活起来时,它给了我一个403错误。

fdx2calv

fdx2calv1#

另一个服务器没有阻止你,至少本身没有。
当你的浏览器试图从另一个服务器获取资源时,它会进行一个预连接,说“嘿,我是从xyz网站来的,你同意吗?”另一个服务器检查xyz是否在它的可接受来源列表(又名引用者)中,发现它不在,这时你就得到了403。
当你在一个非浏览器的环境中时,你的fetch只是说“嘿,我没有从任何地方来到这里”,所以没有引用列表需要检查。这就是为什么它在VSC中有效。
现代浏览器都是硬编码的,不会让一些随机的js代码跳过检查,所以你在代码中什么都做不了。

相关问题