的Python LocationValueError:没有主机指定
问题描述:
我的Python不能连接到互联网,因为上次我的Windows更新。的Python LocationValueError:没有主机指定
当我点子东西,错误是这样
if host.startswith('['):
AttributeError: 'NoneType' object has no attribute 'startswith'
这只是我不能在互联网上的任何点子,任何东西。
然后我想,也许出了点问题,我的系统,所以我想检查是否“请求”工作正常。但主机错误就像
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是字符串,你会看到错误。原因是在你的注册表,ProxyEnable设置为REG_SZ,但不REG_DWORD,所以改变它,一切正常。 打开注册表:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings \ ProxyEnable
(you can also directly search ProxyEnable)
删除ProxyEnable 创建一个新的ProxyEnable形式(REG_SZ 0)到(REG_DWORD 00000000(0))
看到跟随图片,我的电脑语言是中国人,但ProxyEnable的位置是相同的。
人可以帮我???? – user8592667