我下载了 requests 库,并遵循其文档中的快速入门示例:https://requests.readthedocs.io/en/latest/user/quickstart/#make-a-request,却遇到以下错误。
我尝试将 URL 替换为“https://www.google.com”,也得到了相同的错误。
值得注意的是,我使用的是代理。
>>> import requests
>>> >>> r = requests.get('https://api.github.com/events')
Traceback (most recent call last):
File "C:\User\venv\lib\site-packages\urllib3\connection.py", line 203, in _new_conn
sock = connection.create_connection(
File "C:\User\venv\lib\site-packages\urllib3\util\connection.py", line 60, in create_connection
for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM):
File "C:\Program Files\Python39\lib\socket.py", line 954, in getaddrinfo
for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno 11001] getaddrinfo failed
问题的出现是因为我使用了代理。
要解决单个请求的此问题,只需添加代理参数即可。
import requests
proxies = {
'http': 'http://10.10.1.10:3128',
'https': 'http://10.10.1.10:1080',
}
requests.get('http://example.org', proxies=proxies)
或者,为会话配置代理或设置所需的环境代理环境变量。
文档中有关代理的更多信息:https://requests.readthedocs.io/en/latest/user/advanced/#proxies