由于未知原因,系统被设置了代理: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=
export http_proxy=''
export https_proxy=''
但这个对于我来说,不起作用。然后翻墙去了google,得到了下面的解法:
$ cat ./bashrc
# 最后四行如下:
export https_proxy='127.0.0.1:8888'
export http_proxy='127.0.0.1:8888'
export socks_proxy=''
export ftp_proxy=''
$ vi ./bashrc
# 修改成下面的就好
export https_proxy=''
export http_proxy=''
export socks_proxy=''
export ftp_proxy=''
# 退出保存
# 执行下面的命令,使bashrc文件生效
$ source ~/.bashrc
不得不说,必要的时候还是得去国外查资料。