问题标签 [grequests]

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 投票
1 回答
13060 浏览

python-requests - 使用 grequests 发送请求池,如何获取每个请求的响应时间?

我正在使用 grequests python 库将 GET 请求异步发送到我们的服务器。

我不知道如何获取正在发送的请求池中每个单独请求的服务器响应时间?

要获取请求-响应对的开始时间,我可以执行以下操作:

但是我怎样才能掌握收到回复的时间呢?

0 投票
3 回答
40848 浏览

python - grequests 以什么方式异步?

我一直在使用 python requests 库,最近需要异步发出请求,这意味着我想发送 HTTP 请求,让我的主线程继续执行,并在调用时调用回调请求返回。

自然,我被引导到了 grequests 库(https://github.com/kennethreitz/grequests),但我对这种行为感到困惑。例如:

上面的代码将产生以下输出:

grequests.map() 调用显然会阻塞,直到 HTTP 响应可用。似乎我在这里误解了“异步”行为,而 grequests 库仅用于同时执行多个 HTTP 请求并将所有响应发送到单个回调。这是准确的吗?

0 投票
1 回答
1449 浏览

python - 请求:importerror

我第一次使用 grequests。我用 pip 安装了它,看起来不错,但是当我运行我的脚本时,我得到:

ImportError:没有名为 grequests 的模块

关于这个有什么想法吗?

0 投票
1 回答
2848 浏览

python - 安装 Grequests(卡在 gevent 上)mac OS 10.8

我尝试在最后几个小时在我的 mac 10.8 上安装 grequests。

pip install我得到:

这似乎是一个gevent安装问题,因为我在使用时遇到了同样的错误:

所以我去看看如何手动安装 gevent 。我将其视为先决条件greenlet

pip install它,但我得到:

但是我有 GCC:

也许我把 GCC 搞砸了。

还:

所以,这就是我走了多远。有任何想法吗?

更新:

我通过简单地编译 tarball 来解决 GCC 错误python setup.py build install。虽然我安装了 Cython,但在尝试安装gevent构建的 tarball 时出现错误。

0 投票
4 回答
3834 浏览

python - 试图在 Ubuntu 上安装 grequests?

当我尝试使用 pip 在 Ubuntu 上安装 grequests 时:

我收到此错误,但我的 gcc 似乎很好:

0 投票
0 回答
877 浏览

python - Python Grequests + 多处理

我正在尝试使用来自多处理库的池中的 grequests 进行异步 http 调用。我遇到的问题表明 Grequests 和 multiprocessing 可能彼此不兼容;具体来说,调用monkey.patch_all()池创建混乱。

最初,没有调用monkey.patch_all()我的代码:

我得到这两个错误:

调用monkey.patch_all()修复了上述错误,但导致我的代码挂在:

不调用monkey.patch_all()会导致我的池成功创建。调用monkey.patch_all(thread=False, socket=False)也会导致我的 Pool 创建成功,但不能解决最初的两个错误。

0 投票
1 回答
2307 浏览

python - Python Grequests xml 响应

grequests 的快速问题,因为它的文档相当稀疏。从发送的请求中返回 xml 响应的最佳方式是什么?除了状态码之外,我很难找到一种方法来获得回复。有人能指出我正确的方向吗?grequests 甚至可以返回 xml 响应吗?我应该只使用请求并自己进行线程处理吗?这是文档代码

所以我的问题是你如何从映射请求到实际获取 xml 响应?提前致谢。

0 投票
1 回答
407 浏览

python - 在控制台上禁用 grequests 错误日志

无论如何禁用grequests的日志记录到控制台?我的应用程序在请求部分返回错误:

我发现会禁用请求的日志记录,但对 grequests 没有运气。

0 投票
3 回答
7761 浏览

python - 具有多个 request.session 的 grequests 池?

我想对 REST webservices 进行很多 url requets。通常在 75-90k 之间。但是,我需要限制与 Web 服务的并发连接数。

我开始以以下方式玩 grequests,但很快就开始咀嚼打开的套接字。

当它运行一分钟左右时,我遇到了“达到的最大套接字数”错误。据我所知,grequests 中的每个 requests.get 调用都使用它自己的会话,这意味着为每个请求打开一个新套接字。

我在github上找到了一条注释,指的是如何使 grequests 使用单个会话。但这似乎有效地将所有请求限制在一个共享池中。这似乎违背了异步 http 请求的目的。

是否可以以创建多个会话的方式使用 grequests 或 gevent.Pool?

换句话说:如何使用队列或连接池来发出许多并发 http 请求?

0 投票
0 回答
1206 浏览

python - 使用 Python Twisted 使用 Flask API 进行异步文件上传?

我目前有一个在我的本地机器上运行的 python 脚本,它通过调用我使用远程机器上的 Flask 构建的基本 API 来上传一些文件。该脚本基本上遍历文件路径列表,检查某些条件并在文件符合条件时上传文件。为了清楚起见,这里是脚本的精简版本:

问题是该脚本在检测到其他文件时阻止了它们的上传。它们最终都会上传,但我需要异步发送每个文件,但不能同时发送。我研究了 grequests、requests-futures、asyncore、Twisted 等。Twisted 看起来是最好的选择,但需要我学习 Twisted 并重新设计脚本。关于这是否是我应该走的路线的任何提示/意见将不胜感激。提前致谢。