一、问题描述
由于未知原因,系统被设置了代理:127.0.0.1:8888,导致命令行的wget,curl和爬虫程序无法正确发起请求而出错。
Python爬虫的出错代码:
requests.exceptions.ProxyError: HTTPConnectionPool(host='127.0.0.1', port=8888) XXXXXXXX (Caused by ProxyError('Cannot connect to proxy.', NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7fd78c598ac8>: Failed to establish a new connection: [Errno 111] Connection refused')))
二、查看代理设置
使用命令查看本机当前代理:
$: env|grep -i proxy
结果:
https_proxy=127.0.0.1:8888
http_proxy=127.0.0.1:8888
socks_proxy=
ftp_proxy=
三、解决方法
1. csdn上给出的办法基本都是一样的:
export http_proxy=''
export https_proxy=''
但这个对于我来说,不起作用。然后翻墙去了google,得到了下面的解法:
2. 修改用户目录下的.bashrc文件
2.1 查看.bashrc:
$ cat ./bashrc
# 最后四行如下:
export https_proxy='127.0.0.1:8888'
export http_proxy='127.0.0.1:8888'
export socks_proxy=''
export ftp_proxy=''
2.2 修改.bashrc文件
$ vi ./bashrc
# 修改成下面的就好
export https_proxy=''
export http_proxy=''
export socks_proxy=''
export ftp_proxy=''
# 退出保存
# 执行下面的命令,使bashrc文件生效
$ source ~/.bashrc
不得不说,必要的时候还是得去国外查资料。