问题标签 [urllib3]

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 回答
882 浏览

python-requests - urllib3 连接池绑定在哪里?

如果一个新的请求会话以不同的方法实例化,像这样......

myutil.py

requests.packages.urllib3.poolmanager.PoolManager界限在哪里?是全局绑定的,让s1和s2共享连接池,还是绑定到每个方法的栈,让s1和s2有不同的连接池?

如果它绑定到每个方法的堆栈,我有哪些选项来共享连接池?例如,我是否应该创建一个传输适配器,然后在方法之间共享:

myutil.py

0 投票
1 回答
3944 浏览

python - python urllib3登录+搜索

我尝试使用此代码登录到一个站点并在此之后进行搜索。使用此代码,我得到一个我未登录的答案。

我如何结合我第一次登录和之后进行搜索。谢谢。

0 投票
1 回答
5861 浏览

python - Python请求,警告:urllib3.connectionpool:连接池已满

我在 python 3 中使用 requests 库,尽管我尽了最大努力,但我无法让以下警告消失:

警告:requests.packages.urllib3.connectionpool:连接池已满,丢弃连接:myorganization.zendesk.com

我在多线程环境中使用请求来同时获取 json 文件并将其发布到单个主机,绝对没有子域。在当前的设置中,我只使用了 20 个线程。

我尝试使用 aSession来获取重用连接的请求,从而解决问题,但它没有奏效。这是我的类构造函数中的代码:

根据这里的建议,考虑到我正在使用的线程数,我不需要将池连接增加那么多,但尽管如此,即使提高 100,我也会收到此警告。

这让我认为连接根本没有被重用,或者如果它们是,由于某种原因创建了太多。我已经更新了请求,所以它是最新版本。

有谁知道我如何摆脱这个?我正在调试一些代码,我认为这是某些请求未正确发出的原因。

有关的:

我可以更改 Python 的“请求”模块的连接池大小吗?

0 投票
1 回答
741 浏览

python - 如何在 HTTPConnectionPool urllib3 中进行几次重定向后获取响应历史记录

我正在使用HTTPConnectionPoolposturllib3请求。这里的代码http://something.com/file.php2重定向。请求完成后,我在headersand中得到最终响应data。如何查看服务器同时完成的重定向历史记录?

请给我一些建议。提前致谢。

0 投票
2 回答
741 浏览

python - URLLib3 连接池只创建一个池

目前我正在尝试抓取一个站点,但该站点不允许对一个 tcp 连接进行超过 100 个请求。所以,我尝试为请求创建多个连接池。我尝试了以下代码。它不应该创建15个连接池吗?

pool.num_connection 总是打印 1

0 投票
0 回答
450 浏览

google-app-engine - Google App Engine 和 Human API python 库

我正在尝试将Human Api Python 客户端与 GAE 一起使用。

我创建了一个并遵循了 GAE 的 Python 2.7 文档中的第三方库中appengine_config.py描述的所有说明


我的appengine_config.py样子:


我的requirements.txt样子是这样的:

...并正确安装:


但是当我尝试导入时:

我得到:


PIP 版本是 6.0.8

任何人都可以帮助我解决这种依赖问题或指导我做错了什么?

谢谢

0 投票
3 回答
2526 浏览

python - Google App Engine - SSL 不安全平台警告

我在 Google App Engine 中使用 python 的请求库将 GET 请求发送到私有服务器。当我提出请求时,我收到以下警告:

根据指向的文档,我需要升级到 GAE 使用的 Python 2.7.x,或者使用 pyopenssl。因为我不相信我可以强制 GAE 使用 Python 2.7.9,所以我尝试使用 pyopenssl。

按照页面上的说明,我已将建议的三个库下载到我的应用程序的 lib 目录中,并在我使用请求的地方尝试将 pyopenssl 注入 urllib3:

但是,这在开发服务器和生产服务器中失败并具有以下回溯:

这个 import 语句在 Python 解释器中运行良好,如果我最后关闭 pyopenssl 也可以运行。pyopenssl 也是该路径中除 __init__.py 文件之外的第一个 .py 文件。

我在这里做错了吗?有没有更简单的方法来修复 InsecurePlatformWarning?

更新:转到套接字 API 页面后(谢谢 shazow!)我发现我的部分问题是 httplib 行为不端,因为我缺少环境变量。这并没有消除警告,但我的证书现在被接受了!

0 投票
1 回答
3649 浏览

python - Requests.package.urllib3 错误

我是一名 Python 菜鸟,一直在探索这门语言。事情进展顺利,因为我确实有相当基本的编程背景并且我可以理解一般结构。但是,最近,我认为我做了一些事情来破坏 urllib3,因为我的应用程序以前可以工作,现在它失败了,我不能再通过交互式解释器导入 urllib3。

这是代码:

这是非常基本的东西,直到今天早上早些时候它都运行良好。我现在收到的错误如下:

到目前为止,我已经尝试了以下方法来解决这种情况,但没有任何解决方法:

  1. 升级请求和 urllib3
  2. 删除并重新安装 urllib3
  3. 重启树莓派 <- 可能是个愚蠢的想法,但我还是试过了

我能想到的唯一可能导致这种情况的是我尝试使用 pip 安装 stmtplib 和 email.utils 并且都失败了。

最后一个数据点是,如果我尝试通过交互式解释器导入 urllib3,我会得到以下信息:

有什么想法可以解决这个问题吗?

谢谢!

0 投票
1 回答
571 浏览

python - 一次连接从网站上的多个 url 获取 html 数据

我有一个 python 脚本,它接受几个 url 的输入。我的脚本循环遍历这些 url 并从每个页面打印出 htmltext。网站会将其视为 3 个单独的 GET 请求,因此对站点有 3 个“点击”,还是会看到套接字连接并将其视为对页面的 1 个“点击”?

我认为这是通过检查调试的第一个选项,如果是这样,是否可以从同一站点上的多个 URL 获取数据,但该站点仅将其视为站点的 1 个“命中”?我可以利用保持活动功能在 urllib3 中实现这一点吗?

我的脚本如下:

0 投票
1 回答
3089 浏览

python-2.7 - urllib3.HTTPSConnectionPool 错误

我正在尝试多次请求 RestAPI 资源。为了节省时间,我尝试使用 urllib3.HTTPSConnectionPool 代替 urllib2。但是,它不断向我抛出以下错误:

我正在使用 python-2.7.6

这是我的代码:

谢谢您的帮助!