为什么'url'在这里不能作为变量工作?

时间:2010-05-12 19:40:13

标签: python

我最初将变量cpanel命名为url,代码不会返回任何内容。知道为什么吗?它似乎没有被其他任何东西使用,但是我必须忽视它。

import urllib2

cpanel = 'http://www.tas-tech.com/cpanel'
req = urllib2.Request(cpanel)
try:
    handle = urllib2.urlopen(req)
except IOError, e:
    if hasattr(e, 'code'):
        if e.code != 401:
            print 'We got another error'
            print e.code
        else:
            print e.headers
            print e.headers['www-authenticate']

2 个答案:

答案 0 :(得分:2)

请注意,urllib2.Request有一个名为url的参数,但实际上不应该是问题的根源,它会按预期工作:

>>> import urllib2
>>> url = "http://www.google.com"
>>> req = urllib2.Request(url)
>>> urllib2.urlopen(req).code
200

请注意,当您为cpanel切换url时,上面的代码功能完全相同。所以问题一定是在其他地方。

答案 1 :(得分:0)

我很确定/cpanel(如果它是托管控制面板)实际上将您重定向(302)到http://www.tas-tech.com:2082/或类似的东西。你应该更新你的东西来处理重定向(或者更好的是,只需将请求发送到真实地址)。