当前位置: 首页 > 面试题库 >

通过Python发送多个HTTP请求的理想方法?

易研
2023-03-14
问题内容

我正在运行Linux
Web服务器,该服务器运行Python代码以通过HTTP从第三方API捕获实时数据。数据被放入MySQL数据库。我需要对许多URL进行大量查询,并且需要快速执行(更快=更好)。目前,我使用urllib3作为我的HTTP库。最好的方法是什么?我应该生成多个线程(如果有的话,有多少个?),并让每个查询都查询不同的URL?我很想听听您对此的想法-
谢谢!


问题答案:

如果 有很多 真的 有很多 比你可能想使用异步IO不线程。

请求+
gevent =
grequests

GRequests允许您将Requests与Gevent一起使用,以轻松进行异步HTTP Requests。

import grequests

urls = [
    'http://www.heroku.com',
    'http://tablib.org',
    'http://httpbin.org',
    'http://python-requests.org',
    'http://kennethreitz.com'
]

rs = (grequests.get(u) for u in urls)
grequests.map(rs)


 类似资料:
  • 我正在尝试让客户端/服务器程序通过ssl交换http消息。首先,我创建了使用DefaultHttpRequest成功交换http请求的客户端和服务器程序。发送请求的代码如下所示: 客户端管道工厂包含以下内容: 服务器管道工厂包含以下内容: .... 到目前为止一切顺利。客户端发送请求,服务器接收并解码请求。使用正确的数据调用我的处理程序上的messageReceived方法。 为了启用 SSL,我

  • 本文向大家介绍python发送HTTP请求的方法小结,包括了python发送HTTP请求的方法小结的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了python发送HTTP请求的方法。分享给大家供大家参考。具体如下: 这里包含 Python 使用 GET/HEAD/POST 方法进行 HTTP 请求 1. GET 方法: 2. HEAD 方法: 3. POST 方法: 希望本文所述对大家的P

  • 问题内容: 似乎urllib2默认发送HTTP / 1.1请求? 问题答案: urllib2在后台使用httplib进行连接。您可以将其更改为http 1.0,如下所示。我已包含我的apache服务器访问日志,以显示http连接如何更改为1.0 码 访问日志

  • 问题内容: 当我通过套接字发送正常的HTTP请求时,服务器不会以OK响应进行响应。我从Firefox复制了HTTP标头。这是代码: 但是,这是我收到的回复: 我知道我可以使用来做到这一点,但是当我手动发送HTTP请求时,服务器为什么不识别HTTP请求? 问题答案: 两件事情: 您应该使用而不是将条目打印到单独的行。 HTTP请求应以空白行(link)结尾。所以加

  • 很多时候我们需要在页面打开的时候,读取远程的内容,然后在当前页面显示. 这就需要用到 http请求了. vue页面调用http请求 vuejs 内置了对发送http请求的支持. 只需要在对应页面的script 标签内加上对应的代码就好. 例如: 我们新增一个页面,叫 "博客列表页" : src/components/BlogList.vue, 内容如下: <template> <div >

  • 所以,我正在管理一个公司超文本传输协议服务器,并被要求升级服务器以支持使用超文本传输协议2的代理请求 这是测试客户端。我正在jdk 17中使用HttpClient。下面是测试用例。 我的服务器运行在超文本传输协议2上,我没有得到任何响应。在调试我的服务器上收到的数据包时看起来像这样: 这既不是超文本传输协议2格式,也没有我的服务器被设计为解析的任何升级标头,在不使用代理的情况下通常看起来像这样: