我正在使用以下代码来获取页面的URL,基本上我正在尝试做的是允许我的用户通过链接添加产品,他们粘贴链接,应用程序被要求获取链接,获取图像并创建使用数据的新产品。
fetch(url, headers)
.then(response => response.text())
.then(text => {
resolve(this._parseResponse(text, url));
})
.catch(error => reject({ error }));
然后我通过cheerio解析它。
但是我注意到一些网站如Nike和Newegg在使用浏览器或普通curl命令时没有返回相同的结果。
Nike返回“拒绝访问”,Newegg返回“404”。
任何针对该建议的修正或任何其他建议我如何实现我的目标?
谢谢。
我通过在服务器端使用fetch解决了这个问题,但有时在服务器端使用它也有一些问题。
事实证明,除非您使用适当的API访问,否则无法预测返回的内容。
我只是用卷曲做了一个测试
curl https://newegg.com
不工作
然而使用
curl https://www.newegg.com
那是成功的
使用Nike网站的结果相同
您可以通过添加-L参数来设置curl以遵循重定向
curl -L newegg.com