问题标签 [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.
node.js - 如何将交易系统构建到 .then() 链中?
我的代码中有多个链接的同步请求。我正在使用 NodeJS 包 request-promise。
下面是一些伪代码来显示它是如何格式化的:
例如,如果 request3 失败,会发生什么?链条会继续,还是完全脱离循环?
如果 request2 是 POST,并且 request3 失败了,有没有办法系统地回滚 request2 更改的数据?
谢谢。
javascript - 使用 request-promise 获取 403 错误来抓取网站的价格
我正在尝试使用 request-promise 从 Asos.com 获取商品的价格。当我尝试运行下面的代码时,出现 403 错误。尽管我尝试抓取的 URL 是公开的,不需要密钥,我是否可能会收到此错误?
我知道有些网站反对在他们的服务条款中进行抓取,但我只是想确定我不只是执行了这个错误,或者我是否真的被该网站阻止了。
javascript - 使用 request-promise 获取 github url 返回 404
我正在尝试使用request-promise
获取 github url,它适用于浏览器,但我通过 node.js 返回 404,不确定我是否没有正确设置标题:
这只是一个示例,目标是构建一个检查器服务来检查链接是否损坏,而不管域如何。
node.js - Nodejs 请求 Promise 如何显示状态码
我正在使用请求库进行外部 api 调用。https://github.com/request/request。我正在使用本机承诺/异步扩展。https://github.com/request/request-promise-native。
但是我无法检查状态码,它是未定义的。
res.statusCode 未定义。
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 预检请求中传递凭据?
node.js - 尝试调用自己的 AWS api 获取 StatusCodeError: 307 Temporary redirect using node request-promise
我有一个 Aws Api 网关,它以递归方式调用自身(使用新的包体触发到 API 的帖子)。但是,当它尝试调用自身时,会收到 StatusCodeError: 307 Temporary redirect。
该请求是使用 request-promise 包发出的,罪魁祸首函数如下:
请帮助这已经让我发疯了好几天。
console.log(err) 抛出的错误是:
编辑:添加错误日志
node.js - 如果由于 NodeJs 中的超时限制而导致请求不成功,则捕获它
鉴于以下 nodejs Web 抓取示例,我如何确定请求是否由于选项对象中设置的超时限制而失败?
...而不是由于任何其他原因。
我的目标是在返回的对象中存储如果请求由于超时而失败。
javascript - request-promise 总是返回响应而不是返回值
我想将在 request-promise 中定义的变量传递给超出范围的变量。我想我可以在请求函数中使用 return 语句传递变量,但请求函数总是返回 http 响应(在本例中为 HTML 输出)。
我的代码:
此外,我想使用 return 语句将输出传递给 get 函数。有什么办法吗?
编辑:从我的角度来看,这不是这个问题的重复。该请求返回一个值,但它不是我想要返回的值,如上所述。
node.js - 如何避免冗余代码编写承诺?
我有一个文件,其中从 api 调用多个导出函数,这些方法中的每一个都会在函数内部进行一些 get/post。所以我的问题是 Promise.all 对我来说看起来是多余的,是否有更好的方法来使用一个私有方法处理程序来实现这一点,该处理程序可以从每个导出函数和返回响应中实现或调用。
main.ts
node.js - 可以在 CURL 中获取网站,但不能在 Nodejs 请求中获取
我正在尝试从 IMDB 获取页面,但由于某些奇怪的原因,当我使用时它给了我错误 400request-promise
但是,如果我使用 CURL,同样的查询可以正常工作:
卷曲“ https://www.imdb.com/title/tt6306064/mediaviewer/rm3146075904 ”
我的nodejs代码:
到目前为止我尝试过的事情:
- 设置用户代理
- 设置保活
- 启用 cookie jar