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

在执行多个请求时如何加快Python的urllib2

都博裕
2023-03-14
问题内容

我正在使用python的urllib2库向特定主机发出多个http请求。每次发出请求时,都会创建新的tcp和http连接,这会花费大量时间。有什么办法可以使用urllib2保持tcp
/ http连接的活动?


问题答案:

如果切换到httplib,则可以更好地控制基础连接。

例如:

import httplib

conn = httplib.HTTPConnection(url)

conn.request('GET', '/foo')
r1 = conn.getresponse()
r1.read()

conn.request('GET', '/bar')
r2 = conn.getresponse()
r2.read()

conn.close()

这将在相同的基础TCP连接上发送2个HTTP GET。



 类似资料:
  • 我有一个项目,其中有N个参数的数组,需要调用endpointN次(每个参数调用一次)。然后,我需要在返回所有响应时进行监听,并且只在检索到所有结果时执行某个函数。 我知道如何在前端框架中实现上述内容,在前端框架中,我使用axios,然后将axios的响应存储在数组中(例如),然后执行 所以上面是我已经成功使用的东西。问题是,现在我需要在我的后端(我提到的是一个项目)中执行同样的操作。 下面给出了用

  • 问题内容: 我目前正在尝试使用进行多个请求。 我用谷歌搜索了如何做到这一点,答案是使用。 至此,我得到了: 然后我尝试了一个请求,并且一切正常。 然后,我通过cmd创建了一个信任库,并导入了目标网站的证书,使用我的信任库设置并设置的of : 如果我尝试执行Https,则会出现异常。 如果我做同样的事情,但一切正常。 谁能告诉我如何使它起作用?(不用担心,我不会创建任何ddos工具) 提前致谢! P

  • 问题内容: 我想知道为什么当我这样依次调用request.get()方法时: 我对所有请求的状态都良好,但是当我在for循环中执行该状态时,例如: 除最后一个请求外,所有请求我都得到400(错误)。 附加信息:SO上有一个相关的问题,其中提到了两种应对这种情况的方法:等待,标题。 在我的情况下 以及标题中,wait不起作用-我不知道在那里提供了什么。 更新:我正在尝试实现的特定版本: 问题答案:

  • 我们有一个场景,每个Cassandra中给定,对于下面的架构: 单个 POST 请求正文包含多个值的详细信息。这将触发单个表上每个 POST 请求的多个插入。 每个INSERT查询如下所示执行: 1个 Cassandra是否确保每个POST请求在单个表上的多个插入上的数据展示一致性?每个POST请求都在Go例程(线程)上处理。后续GET请求应确保检索一致的数据(通过POST插入) 使用批处理语句在

  • 我正在尝试向CloudScrape的在线网站scraper发出API请求,文档显示了以下示例。 POST /api/runs/{runId}/执行/输入/等待HTTP/1.1 X-CloudScrape-Access: ga09usdm8osdf8n9sodf X-CloudScrape-Account:87750c5f-7423-4438-b3f1-7b8b86990621 接受:applica

  • 是否可以在webclient上将多个请求链接在一起?例如,我希望在进行交易时能够更新买方和卖方的余额。现在它只更新买家余额: 是否有一种方法可以将两个put方法调用在一起,以便更新两个余额? 更新:此方法适用于将单声道值作为uri变量调用。