问题标签 [node-request]

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 投票
4 回答
37222 浏览

javascript - Node.js GET 请求 ETIMEDOUT & ESOCKETTIMEDOUT

ESOCKETTIMEDOUT我正在使用 Node.js - 异步和请求模块来抓取 100+ 数百万个网站,ETIMEDOUT但几分钟后我一直遇到错误。

重新启动脚本后它再次起作用。这似乎不是连接限制问题,因为我仍然可以做 resolve4、resolveNs、resolveMx 并且也curl没有延迟。

你看到代码有什么问题吗?或任何建议?我想将 async.queue() 并发量提高到至少 1000。谢谢。

而且系统限制非常高。

系统控制

0 投票
2 回答
12401 浏览

javascript - 为什么 request.on() 在 Node.js 中不起作用

我正在尝试使用节点请求模块从第三方服务获取一些数据,并将这些数据作为字符串从函数返回。我的看法是request()返回一个可读的流,因为你可以做到request(...).pipe(writeableStream)- 我认为 - 意味着我可以做到

但这并没有真正起作用。我认为我对 request() 或节点流的真正工作方式有一些错误的看法。有人可以在这里消除我的困惑吗?

0 投票
1 回答
1193 浏览

node.js - 将套接字作为 Socket.io 参数传递?

总的来说,我有以下工作流程:

  1. 用户请求具有特定标题的文章
  2. 客户端,Socket.io 发出一个事件并将标题作为数据传递
  3. 服务器端,节点向 API 发出 http 请求并收集有关该文章的相关信息
  4. 完成后,服务器将该信息发送给客户端。

由于 4 取决于 3,我的理解是它需要在回调中捕获以实现同步行为。这给了我这个:

socket.io 文档中没有一个讨论异步方法,传递套接字而不是回调函数感觉很奇怪,这更像是 Node-y。我是在使用糟糕的技术还是错误地思考问题,或者这是发出异步方法响应的标准方式?

注意:我会把它放在 Code Review 上,但他们没有 Socket.IO 的标签,这让我觉得它更适合这里。

0 投票
1 回答
648 浏览

node.js - 从 nodejs express 登录到 cakephp

我在 php 中有一个较旧的系统,因此,我正在使用带有 Express 框架的 Node.js 编写一个新系统,在 Node.js 站点的某个地方我需要登录到 php 站点(这些站点使用相同的凭据)。

基本上我在 mi 视图(在 Express 中)的某个地方有一个按钮,当按下它时,应该从某个地方获取一些用户凭据,使用此凭据(没有任何表单)登录到 php 站点并重定向到已经登录的 php 系统在浏览器上。

我正在尝试遵循这个答案

因此,这是在按下按钮时执行的代码。

取消注释最后一段注释的代码(来自 request.get),我可以看到这很好,并且正在打印登录网站用户主页的 HTML(正文),但是当我尝试在标题中设置 Cookie 并重定向时到该站点以在浏览器上进行登录,这不起作用

可以通过这种方式做到这一点吗?

我错过了什么?

提前致谢。

0 投票
1 回答
2340 浏览

node.js - Node.js Express 应用程序在负载测试下花费太多时间来处理出站 HTTP 请求

我在 Linux 机器(Ubuntu 12.04 64 位,3.75GB 内存,1 个核心)上有一个 express(node.js v0.10.29)代理,它为每个传入请求发出一些出站 HTTP 请求。在负载测试时,我发现响应时间变得非常慢(在触发 1000 时发出 4 个出站请求的请求大约需要 30 秒)。经过一番调查,我确定出站请求是瓶颈并消除了机器限制(cpu 和内存没有超过 20%,我将打开文件的数量增加到 10000)。首先,我对出站请求使用 request 模块,尝试将其更改为 http 模块,并为他们两个尝试增加globalAgent.maxSockets, using agent = false, using 我自己的代理和任意数量的maxSockets, setting request.setNoDelay(true), usingcluster,但我的负载测试结果没有任何改变。

可能是什么问题?

这是我最新的 HTTP 请求代码:

“next”方法将调用“doPost”函数几次(在本例中为 4 次)。

0 投票
1 回答
2987 浏览

javascript - nodejs 请求从服务器返回空正文以进行 POST 请求

我正在使用请求(https://github.com/mikeal/request)从节点发送一个 http post 请求,并且我正在返回一个空正文。从 hurl.it 发送的相同请求正在返回具有正确正文的正确响应。从同一 nodejs 服务器发送到同一服务器的另一个请求也返回正确的正文。真正令人气愤的是,这在上周工作,并且不再在 nodejs 中工作。

我的 server.js 是:

有人知道如何解决这个问题吗?

谢谢你。

0 投票
1 回答
336 浏览

node.js - Nodejs streaming upload multiple files

I am working on a command line application that is supposed to take an array of file names, do transform operations ( text files, spreadsheets, etc payloads have to be rewritten into JSON objects ), and send results to an endpoint API ( api.example.com ). I am considering a sequential read, and pipe result to an instance of -http, or -request, But has no idea of where to start from. Is there any alternatives or strategy have you used to solve a similar problem?

Any algorithm, or point to an article or a similar question here on SO will be highly appreciated. Thanks.

Update1. I found a link that may help in this google group https://groups.google.com/forum/#!topic/nodejs/_42VJGc9xJ4

To keep track of the final solution:

The remaining problem is how to make this work for "n" files, in case "n" is high - 100 text files or more.

0 投票
1 回答
2117 浏览

javascript - 从回调函数返回一个对象,以便包装函数可以在 node.js/express 中返回相同的对象

我正在尝试返回一个对象,该对象是从调用第三方 API 获得的数据中构建的。我正在使用请求(https://github.com/mikeal/request ) 模块来完成同样的任务。

但是,我想从回调函数中返回这个对象。

我的请求调用是 javascript 函数的一部分,我希望这个外部函数能够返回新构造的对象。由于 node.js 的非阻塞性质,我遇到了问题,因为每当我尝试从外部函数返回对象时,它都会返回一个空对象,因为回调函数尚未构造该对象。

我怎样才能做到这一点?

0 投票
0 回答
241 浏览

node.js - NodeJS 流式数组作为请求的参数

我有一个参数数组,然后我将其转换为一个 url 数组。然后我想流式传输这个 URL 数组来请求。

使用模块 event-stream 我可以将这个数组转换成这样的流:

然后我可以这样做:

我知道如何使用request,所以我可以像这样管道它的结果:

但是,如果可能的话,我如何将 url 数组流式传输到请求中?

0 投票
0 回答
977 浏览

javascript - Post 方法使用 https.request 但不适用于 Needle 或 Request 库

我有nodeApp。它做事。

在特定时间,我需要与野外的 API 进行通信。在像 Postman 这样的 rest 工具中使用 API 很简单:

邮差

在邮递员中发送上述内容,我得到了很好的快速回复!是的休息工具。

所以他们的 API 有效,现在我需要在我的 Node.js 应用程序中做出同样的响应。

这就是事情变得奇怪的地方......

请求模块:失败

以上失败..它抛出了我们都喜欢的good'ol ECONNRESET错误!为什么?谁知道?

https.request() - 工作!

但后来我注意到...

如果我在使用请求模块时保留这行代码,那么它就可以工作......

这是否记录在某处而我错过了?有人向我解释这个吗?