2

我最近在我的工作场所遇到了一些使用grequests 库发出 HTTP 请求的内部代码。

但是,当我查看代码时,我注意到程序一次只发送一个请求。例如,考虑以下函数:

def run(self, uris):
    # Create the request objects
    reqs = [grequests.get(uri) for uri in uris]

    # Send the requests out, wait for them to complete.
    results = grequests.map(reqs, size=10)
    ...

在调用此函数的所有实例中,只有一个 uri 被传递给该函数。换句话说,对这个run()函数的所有调用看起来像:

run([myURI])

因为我是使用 grequests 的新手,所以这真的比传统的requests库有什么优势吗?似乎在这里使用 grequest 会使代码过于复杂。

在这种情况下使用 grequest 会比使用普通的旧请求更好吗?

4

1 回答 1

1

对 .map() 的调用会阻塞,因此,如果在实践uris中始终是单个 uri,而不是多个,则整个函数将阻塞,您也可以使用requests.

于 2016-01-05T05:52:36.147 回答