自从我的 Windows 上次更新以来,我的 python 无法连接到 Internet。
当我 pip 一些东西时,错误就像
if host.startswith('['):
AttributeError: 'NoneType' object has no attribute 'startswith'
只是我无法在 Internet 上 pip 任何东西,任何东西。
然后我想我的系统可能出了 pip 问题,所以我尝试检查“请求”是否正常工作。但是主机错误就像
r = requests.get('http://www.baidu.com')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "D:\Program Files (x86)\Anaconda3\lib\site-packages\requests\api.py",
line 70, in get
return request('get', url, params=params, **kwargs)
File "D:\Program Files (x86)\Anaconda3\lib\site-packages\requests\api.py",
line 56, in request
return session.request(method=method, url=url, **kwargs)
File "D:\Program Files (x86)\Anaconda3\lib\site-
packages\requests\sessions.py", line 488, in request
resp = self.send(prep, **send_kwargs)
File "D:\Program Files (x86)\Anaconda3\lib\site-
packages\requests\sessions.py", line 609, in send
r = adapter.send(request, **kwargs)
File "D:\Program Files (x86)\Anaconda3\lib\site-
packages\requests\adapters.py", line 390, in send
conn = self.get_connection(request.url, proxies)
File "D:\Program Files (x86)\Anaconda3\lib\site-
packages\requests\adapters.py", line 291, in get_connection
conn = proxy_manager.connection_from_url(url)
File "D:\Program Files (x86)\Anaconda3\lib\site-
packages\requests\packages\urllib3\poolmanager.py", line 222, in
connection_from_url
return self.connection_from_host(u.host, port=u.port, scheme=u.scheme)
File "D:\Program Files (x86)\Anaconda3\lib\site-
packages\requests\packages\urllib3\poolmanager.py", line 331, in
connection_from_host
self.proxy.host, self.proxy.port, self.proxy.scheme)
File "D:\Program Files (x86)\Anaconda3\lib\site-
packages\requests\packages\urllib3\poolmanager.py", line 167, in
connection_from_host
raise LocationValueError("No host specified.")
requests.packages.urllib3.exceptions.LocationValueError: No host
specified.
在我的电脑出问题之前,我已经使用了数百次“请求”。而且我以前从未见过这样的错误。顺便说一句,我的互联网运行良好,否则我无法从这里提问。
我不明白我的电脑或主机文件有什么问题,如果有人能帮助我,我将不胜感激。
最佳答案
错误位置:
Lib\urllib\request.py:
proxyEnable = winreg.QueryValueEx(internetSettings, 'ProxyEnable')[0]
如果 proxyEnable 是 string ,您将看到错误。原因是在你的注册表中,ProxyEnable设置为REG_SZ而不是REG_DWORD,所以改变它就可以了。 打开注册表:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings \ ProxyEnable
(you can also directly search ProxyEnable)
删除代理启用 创建一个新的 ProxyEnable 表单 (REG_SZ 0) 到 (REG_DWORD 0x00000000(0))
看下面的图片,我的电脑语言是中文,但是ProxyEnable的位置是一样的。
关于Python 位置值错误 : No host specified,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46260169/