对于特定 URL,我无法从使用 urllib3 的 GET 请求获得响应,但我可以使用请求和 urllib 来实现吗?

I can't get a response from a GET request using urllib3 for a particular URL, but I can do it with requests and urllib?

我正在尝试访问下载 CSV 文件的 url“https://www.nasdaq.com/screening/companies-by-name.aspx?letter=0&exchange=nasdaq&render=download”。当我使用 urllib3 并发送 'GET' 请求时,代码挂起并最终产生错误。不过,我可以在其他 url 上成功使用 urllib3。

使用 urlopen from urllib.request 完美运行,以及带有 get() 方法的请求库。我如何使用 urllib3 以及为什么它在这个特定的 URL 上不起作用?

Python 3.7.3 urllib3 1.23.2 请求 2.22.0

我尝试阅读 urllib3 文档并使用 urllib3 .urlopen 而不是 .request 方法,但均无效。

import requests
from urllib.request import urlopen
from urllib3 import PoolManager

url='https://www.nasdaq.com//screening//companies-by-name.aspx?letter=0&exchange=nasdaq&render=download'

# USING urllib3
http=PoolManager()
page=http.request('GET', url)

#USING urllib
page=urlopen(url)

#USING requests
page=requests.get(url)

我希望得到回应,但使用 urllib3 我在大约 1 分钟后收到此错误:

    raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='www.nasdaq.com', port=443): Max retries exceeded with url: //screening//companies-by-name.aspx?letter=0&exchange=nasdaq&render=download (Caused by ProtocolError('Connection aborted.', OSError("(10060, 'WSAETIMEDOUT')")))
# see: https://www.nasdaq.com/robots.txt
import urllib3
url='https://www.nasdaq.com/screening/companies-by-name.aspx?letter=0&exchange=nasdaq&render=download'    
user_agent = {'user-agent': 'Mozilla/5.0 (Windows NT 6.3; rv:36.0) ..'}
http = urllib3.PoolManager(10, headers=user_agent)
http.urlopen('GET', url)