InvalidProxyURL: Please check proxy URL. It is malformed and could be missing the host

今天像往常一样,使用requests发送请求,没想到遇到报错:

requests.exceptions.InvalidProxyURL: Please check proxy URL. It is malformed and could be missing the host

分析提示有两种可能:一是被设置代理了;二是hosts文件被更改了;

回想这几天的操作也没有设置任何代理模式,优先否定了第一种可能;接着,查看hosts文件(C:\Windows\System32\drivers\etc)发现确实被篡改过,而且是在我不知情的情况下。瞬间想到可能中病毒了,赶紧下载了360安全卫士进行了一系列的检查、清理和修复;重启电脑后发现仍然存在上述问题;

接下来,尝试在另外一台电脑上修改hosts文件,发现是可以正常requests请求的;排除了这种情况(忽略hosts文件被改的事实,仍然不知道为啥会被篡改,解决办法是从别的电脑上复制了一份hosts,与解决这个异常无关!)

然后就是各种百度、咨询,仍然没有发现好的解决办法,一度认为是中了莫名病毒的原因(甚至想到了最坏的办法:重装系统);

在这种怀疑中浪费了大量的时间(真心觉得不值);

在某个瞬间觉得自己过于专注是中病毒的原因了,忽略了提示语句中的检查代理;这让我看到了思路,换个方式思考:如何设置代理;果不其然一对比,确实是我本地改动了系统默认选项导致的,修改完后解决了该问题。重点来了,是怎么解决的呢?

1.右键“我的电脑”,选择“属性”,点击“控制面板主页”,选择“网络和Internet”,然后选择“Internet选项”

InvalidProxyURL: Please check proxy URL. It is malformed and could be missing the host

2.选择“连接”,点击“局域网设置”,勾选上“自动检测设置”

InvalidProxyURL: Please check proxy URL. It is malformed and could be missing the host

InvalidProxyURL: Please check proxy URL. It is malformed and could be missing the host

3.再次requests发送请求即可正常!

 

(套用名人的话是:当你遇到被锁上的锁头时,要想到—应该去别的地方找钥匙!可能自身体会下更容易理解,虽然此异常有提示到了代理,但是一开始关注点没在这个方向上导致浪费时间;自己挖的坑还得自己填啊,折腾大半天,特此分享下希望后来者遇到此问题能快速解决)