问题标签 [request-promise]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
127 浏览

node.js - 如何将交易系统构建到 .then() 链中?

我的代码中有多个链接的同步请求。我正在使用 NodeJS 包 request-promise。

下面是一些伪代码来显示它是如何格式化的:

例如,如果 request3 失败,会发生什么?链条会继续,还是完全脱离循环?

如果 request2 是 POST,并且 request3 失败了,有没有办法系统地回滚 request2 更改的数据?

谢谢。

0 投票
1 回答
2221 浏览

javascript - 使用 request-promise 获取 403 错误来抓取网站的价格

我正在尝试使用 request-promise 从 Asos.com 获取商品的价格。当我尝试运行下面的代码时,出现 403 错误。尽管我尝试抓取的 URL 是公开的,不需要密钥,我是否可能会收到此错误?

http://www.asos.com/api/product/catalogue/v2/stockprice?productIds=10000496¤cy=SEK&keyStoreDataversion=7jhdf34h-6&store=ROE

我知道有些网站反对在他们的服务条款中进行抓取,但我只是想确定我不只是执行了这个错误,或者我是否真的被该网站阻止了。

0 投票
1 回答
488 浏览

javascript - 使用 request-promise 获取 github url 返回 404

我正在尝试使用request-promise获取 github url,它适用于浏览器,但我通过 node.js 返回 404,不确定我是否没有正确设置标题:

这只是一个示例,目标是构建一个检查器服务来检查链接是否损坏,而不管域如何。

0 投票
2 回答
17327 浏览

node.js - Nodejs 请求 Promise 如何显示状态码

我正在使用请求库进行外部 api 调用。https://github.com/request/request。我正在使用本机承诺/异步扩展。https://github.com/request/request-promise-native

但是我无法检查状态码,它是未定义的。

res.statusCode 未定义。

0 投票
1 回答
3085 浏览

javascript - 由于 CORS,HTTP Auth 请求在浏览器中失败,在 Node 中正常

我一直试图诊断一个问题,即使用 HTTP Basic Auth 的 GET 请求在 Node 中成功,但在浏览器中失败。该问题直接表现为 CORS 故障(401 页面上没有 Access-Control-Allow-Origin)。

请求如下所示:

此请求如何在 Chrome 中显示:

在此处输入图像描述

令我惊讶的是:

  • 方法是 OPTIONS,而不是 GET。(我没有明确要求。)
  • 我的身份验证凭据不包含在标题中(即使我没有设置sendImmediately: false
  • “显示临时标题”警告。

我想知道的:

  • 这是预期的行为吗?
  • 如果没有,有什么问题?
  • 如果是,出了什么问题?:)

在命令行上运行等效的请求似乎可以正常工作:

但是我注意到,如果没有 URL 中提供的凭据,响应中就没有 CORS 标头:

这是正确的行为吗?

假设

我猜测:

  • 浏览器正在发送 OPTIONS “飞行前”请求,因为它必须这样做,因为该请求不是“简单请求”。(不完全清楚这是请求库还是浏览器本身这样做)
  • 服务器响应 401,因为未提供凭据,但未添加应有的 CORS 标头。
  • 如果没有 CORS 标头,浏览器会阻止请求库访问结果,因此无法完成身份验证。

我不确定的是:

  • 服务器是否配置错误?
  • Request 是否未能在 OPTIONS 预检请求中传递凭据?
0 投票
0 回答
404 浏览

node.js - 尝试调用自己的 AWS api 获取 StatusCodeError: 307 Temporary redirect using node request-promise

我有一个 Aws Api 网关,它以递归方式调用自身(使用新的包体触发到 API 的帖子)。但是,当它尝试调用自身时,会收到 StatusCodeError: 307 Temporary redirect。

该请求是使用 request-promise 包发出的,罪魁祸首函数如下:

请帮助这已经让我发疯了好几天。

console.log(err) 抛出的错误是:

编辑:添加错误日志

0 投票
1 回答
562 浏览

node.js - 如果由于 NodeJs 中的超时限制而导致请求不成功,则捕获它

鉴于以下 nodejs Web 抓取示例,我如何确定请求是否由于选项对象中设置的超时限制而失败?

...而不是由于任何其他原因。

我的目标是在返回的对象中存储如果请求由于超时而失败。

0 投票
1 回答
288 浏览

javascript - request-promise 总是返回响应而不是返回值

我想将在 request-promise 中定义的变量传递给超出范围的变量。我想我可以在请求函数中使用 return 语句传递变量,但请求函数总是返回 http 响应(在本例中为 HTML 输出)。

我的代码:

此外,我想使用 return 语句将输出传递给 get 函数。有什么办法吗?

编辑:从我的角度来看,这不是这个问题的重复。该请求返回一个值,但它不是我想要返回的值,如上所述。

0 投票
2 回答
141 浏览

node.js - 如何避免冗余代码编写承诺?

我有一个文件,其中从 api 调用多个导出函数,这些方法中的每一个都会在函数内部进行一些 get/post。所以我的问题是 Promise.all 对我来说看起来是多余的,是否有更好的方法来使用一个私有方法处理程序来实现这一点,该处理程序可以从每个导出函数和返回响应中实现或调用。

main.ts

0 投票
1 回答
247 浏览

node.js - 可以在 CURL 中获取网站,但不能在 Nodejs 请求中获取

我正在尝试从 IMDB 获取页面,但由于某些奇怪的原因,当我使用时它给了我错误 400request-promise

但是,如果我使用 CURL,同样的查询可以正常工作:

卷曲“ https://www.imdb.com/title/tt6306064/mediaviewer/rm3146075904

我的nodejs代码:

到目前为止我尝试过的事情:

  • 设置用户代理
  • 设置保活
  • 启用 cookie jar