使用fetch返回与使用curl或在浏览器中打开页面不同的结果

时间:2018-01-11 14:47:45

标签: javascript http curl fetch

我使用以下代码来获取网页的网址,基本上我尝试做的是允许我的用户通过他们粘贴链接的链接添加产品,应用程序被要求获取链接,获取图像并使用数据创建新产品。

<script src="js/jquery.min.js"></script>
<script src="js/jquery.fitvids.js"></script>
<script>
  $(document).ready(function(){
      $(".embed-container").fitVids();
  });
</script>

然后我通过cheerio解析它。

但是我注意到像Nike和Newegg这样的网站在使用浏览器或普通卷曲命令时没有返回相同的结果。

Nike返回&#34; Access Denied&#34;,Newegg返回&#34; 404&#34;。

对于我或如何实现目标的任何其他建议的修正?

感谢。

2 个答案:

答案 0 :(得分:0)

我通过在服务器端使用fetch解决了这个问题,但有时在服务器端使用它也有一些问题。

事实证明,除非您使用适当的API,否则无法预测返回的内容。

答案 1 :(得分:-1)

我刚刚用curl做了一个测试

curl https://newegg.com 

无效

然而使用

curl https://www.newegg.com

成功了

使用Nike网站的结果相同

您可以通过添加-L param

将curl设置为遵循重定向
curl -L newegg.com