Python urllib2异常非数字端口:';端口/';

Python urllib2异常非数字端口:';端口/';,python,python-2.7,urllib2,Python,Python 2.7,Urllib2,我想执行在python网站上找到的以下代码: #!/usr/bin/python import urllib2 f = urllib2.urlopen('http://www.python.org/') print f.read(100) 但结果是: Traceback (most recent call last): File "WebServiceAusführen.py", line 5, in <module> f = urllib2.url

我想执行在python网站上找到的以下代码:

    #!/usr/bin/python

import urllib2

f = urllib2.urlopen('http://www.python.org/')
print f.read(100)
但结果是:

    Traceback (most recent call last):
  File "WebServiceAusführen.py", line 5, in <module>
    f = urllib2.urlopen('http://www.python.org/')
  File "/usr/lib/python2.7/urllib2.py", line 126, in urlopen
    return _opener.open(url, data, timeout)
  File "/usr/lib/python2.7/urllib2.py", line 400, in open
    response = self._open(req, data)
  File "/usr/lib/python2.7/urllib2.py", line 418, in _open
    '_open', req)
  File "/usr/lib/python2.7/urllib2.py", line 378, in _call_chain
    result = func(*args)
  File "/usr/lib/python2.7/urllib2.py", line 1207, in http_open
    return self.do_open(httplib.HTTPConnection, req)
  File "/usr/lib/python2.7/urllib2.py", line 1146, in do_open
    h = http_class(host, timeout=req.timeout) # will parse host:port
  File "/usr/lib/python2.7/httplib.py", line 693, in __init__
    self._set_hostport(host, port)
  File "/usr/lib/python2.7/httplib.py", line 721, in _set_hostport
    raise InvalidURL("nonnumeric port: '%s'" % host[i+1:])
httplib.InvalidURL: nonnumeric port: 'port/'
Error in sys.excepthook:
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/apport_python_hook.py", line 70, in apport_excepthook
    binary = os.path.realpath(os.path.join(os.getcwdu(), sys.argv[0]))
  File "/usr/lib/python2.7/posixpath.py", line 71, in join
    path += '/' + b
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 15: ordinal not in range(128)

Original exception was:
Traceback (most recent call last):
  File "WebServiceAusführen.py", line 5, in <module>
    f = urllib2.urlopen('http://www.python.org/')
  File "/usr/lib/python2.7/urllib2.py", line 126, in urlopen
    return _opener.open(url, data, timeout)
  File "/usr/lib/python2.7/urllib2.py", line 400, in open
    response = self._open(req, data)
  File "/usr/lib/python2.7/urllib2.py", line 418, in _open
    '_open', req)
  File "/usr/lib/python2.7/urllib2.py", line 378, in _call_chain
    result = func(*args)
  File "/usr/lib/python2.7/urllib2.py", line 1207, in http_open
    return self.do_open(httplib.HTTPConnection, req)
  File "/usr/lib/python2.7/urllib2.py", line 1146, in do_open
    h = http_class(host, timeout=req.timeout) # will parse host:port
  File "/usr/lib/python2.7/httplib.py", line 693, in __init__
    self._set_hostport(host, port)
  File "/usr/lib/python2.7/httplib.py", line 721, in _set_hostport
    raise InvalidURL("nonnumeric port: '%s'" % host[i+1:])
httplib.InvalidURL: nonnumeric port: 'port/'
回溯(最近一次呼叫最后一次):
文件“WebServiceAusführen.py”,第5行,在
f=urllib2.urlopen('http://www.python.org/')
文件“/usr/lib/python2.7/urllib2.py”,第126行,在urlopen中
return\u opener.open(url、数据、超时)
文件“/usr/lib/python2.7/urllib2.py”,第400行,打开
响应=自身打开(请求,数据)
文件“/usr/lib/python2.7/urllib2.py”,第418行,打开
"开放",
文件“/usr/lib/python2.7/urllib2.py”,第378行,在调用链中
结果=func(*args)
文件“/usr/lib/python2.7/urllib2.py”,第1207行,在http\u open中
返回self.do_open(httplib.HTTPConnection,req)
文件“/usr/lib/python2.7/urllib2.py”,第1146行,打开
h=http_类(主机,超时=req.timeout)#将解析主机:端口
文件“/usr/lib/python2.7/httplib.py”,第693行,在__
自身设置主机端口(主机,端口)
文件“/usr/lib/python2.7/httplib.py”,第721行,在主机端口中
引发InvalidURL(“非数字端口:“%s]”%host[i+1:])
httplib.InvalidURL:非数字端口:“端口/”
sys.excepthook中出错:
回溯(最近一次呼叫最后一次):
文件“/usr/lib/python2.7/dist packages/apport\u python\u hook.py”,第70行,apport\u excepthook
binary=os.path.realpath(os.path.join(os.getcwdu(),sys.argv[0]))
文件“/usr/lib/python2.7/posixpath.py”,第71行,在join中
路径+='/'+b
UnicodeDecodeError:“ascii”编解码器无法解码位置15中的字节0xc3:序号不在范围内(128)
最初的例外是:
回溯(最近一次呼叫最后一次):
文件“WebServiceAusführen.py”,第5行,在
f=urllib2.urlopen('http://www.python.org/')
文件“/usr/lib/python2.7/urllib2.py”,第126行,在urlopen中
return\u opener.open(url、数据、超时)
文件“/usr/lib/python2.7/urllib2.py”,第400行,打开
响应=自身打开(请求,数据)
文件“/usr/lib/python2.7/urllib2.py”,第418行,打开
"开放",
文件“/usr/lib/python2.7/urllib2.py”,第378行,在调用链中
结果=func(*args)
文件“/usr/lib/python2.7/urllib2.py”,第1207行,在http\u open中
返回self.do_open(httplib.HTTPConnection,req)
文件“/usr/lib/python2.7/urllib2.py”,第1146行,打开
h=http_类(主机,超时=req.timeout)#将解析主机:端口
文件“/usr/lib/python2.7/httplib.py”,第693行,在__
自身设置主机端口(主机,端口)
文件“/usr/lib/python2.7/httplib.py”,第721行,在主机端口中
引发InvalidURL(“非数字端口:“%s]”%host[i+1:])
httplib.InvalidURL:非数字端口:“端口/”

帮助会非常棒,因为我真的不知道如何在这么小的程序中犯这么大的错误

由于代理配置错误,因此引发异常

在POSIX系统上,库查找环境变量(大写和小写)。对于HTTP URL,这是
HTTP\u proxy
环境变量

您可以通过查找代理变量来验证这一点:

import os

print {k: v for k, v in os.environ.items() if k.lower().endswith('_proxy')}

您在系统上配置的任何值都不是有效的主机名和端口组合,Python对此感到窒息。

您是否配置了任何代理?查找
http\u proxy
环境变量。是的,我配置了代理。错误来自代理配置;这是一个无效的URL。那么我现在该怎么办?我不知道你是否想让我这么做,但我使用了你的代码,结果是:{'http_proxy':'http//user:passwort@proxyserver.domain:port/,'ftp_proxy':'http//用户:passwort@proxyserver.domain:port/'}@user2746203:
http//user:passwort@proxyserver.domain:port/
不是有效的URL。它充其量只是一个模板值。你想摆脱那些;您是否使用带有GUI的Linux发行版?如果是,请找到设置这些选项的控制面板并将其清除。然后创建一个新的终端会话。@user2746203:通常这样的配置看起来像
http://someuser:somepassword@example.com:8000/
。我非常感谢您的帮助,希望您对我有耐心,因为我可能会有一些愚蠢的问题,但是我现在该怎么做才能解决我的问题呢?哦,谢谢你,先生:D你的评论是对的!我在/etc/bash.bashrc xP中有这些系统范围的设置,非常感谢:)