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

标签 javascript http curl fetch

我正在使用以下代码来获取页面的 URL,基本上我想做的是允许我的用户通过他们粘贴的链接添加产品,应用程序应该获取链接,获取图像并使用数据创建新产品。

            fetch(url, headers)
            .then(response => response.text())
            .then(text => {
                resolve(this._parseResponse(text, url));
            })
            .catch(error => reject({ error }));

然后我通过cheerio解析它。

但是我注意到一些网站(例如 Nike 和 Newegg)在使用浏览器或正常的 curl 命令时不会返回预期的相同结果。

耐克返回“访问被拒绝”,Newegg 返回“404”。

对此有何解决办法或对我如何实现目标有任何其他建议?

谢谢。

最佳答案

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

事实证明,除非您将其与您有权访问的正确 API 一起使用,否则您无法预测将获取返回的内容。

关于javascript - 使用 fetch 返回的结果与使用 curl 或在浏览器中打开页面的结果不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48209774/

相关文章:

javascript - 如何下载/保存 PHP 生成的 HTML 页面的内容?

json - 缓冲区字符串()不等于字符串

javascript - Angular:未创建 Cookie

javascript - 如何处理 statusCode 未处理的 ajax 错误?

java - 如何在Java中运行带有-u参数和json数据的curl命令?

php - 通过 CURL 尝试 OAuth2 - 请求中未指定授权类型

php - Localhost URL 在浏览器中有效,但对于 PHP curl_exec 返回 bool(false)

javascript - 参数函数中的"This"

javascript - Node -HTTP-代理错误

javascript - Meteor 重启时 Meteor.users 尚未准备好