Python requests 库在 Windows 上非常慢

Cas*_*sen 1 python python-requests

此问题发生在 Windows 10 上(我知道这一点,因为 Mac 操作系统上不存在)。

每当您向端点之一发出如下所示的简单请求时,在 Windows 上速度非常慢,而在 Mac OS 上几乎是即时的。

import requests
requests.get('/user/get/' + str(current_user.id))
Run Code Online (Sandbox Code Playgroud)

在 Windows 上大约需要 3 秒,而在 Mac OS 上几乎是瞬时的。

通过使用一些简单的日志记录,我发现urllib3(这是请求的底层库)在建立新的 http 连接时需要很长时间。这是目前的痛点,我不知道如何解决这个问题。

DEBUG:urllib3.connectionpool:Starting new HTTP connection (1): localhost:5004
Run Code Online (Sandbox Code Playgroud)

修复失败1:

我从这个答案中尝试了以下内容,但它不起作用。

import requests

session = requests.Session()
session.trust_env = False

r = session.get('/user/get/' + str(current_user.id))
Run Code Online (Sandbox Code Playgroud)

我也从相同的答案中尝试了以下内容,但它不起作用。

os.environ['NO_PROXY'] = 'localhost'
Run Code Online (Sandbox Code Playgroud)

修复失败2:

我尝试了第二个假设的修复,但它也不起作用。

import requests

proxies = {
  "http": None,
  "https": None,
}

r = requests.get('/user/get/' + str(current_user.id), proxies=proxies)
Run Code Online (Sandbox Code Playgroud)

现在..

这让我没有答案,也没有可用的修复方法。有人知道为什么这是一个问题吗?

Cas*_*sen 7

我从github问题中发现这是一个DNS问题。根据答案中的指定,您必须更改localhost127.0.0.1,这不是请求问题。