Почему 'url' здесь не работает как переменная? - PullRequest
0 голосов
/ 12 мая 2010

У меня изначально была переменная 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 ]

2 голосов
/ 12 мая 2010

Обратите внимание, что urllib2.Request имеет параметр с именем url, но это действительно не должно быть источником проблемы, он работает как положено:

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

Обратите внимание, что ваш код выше работает одинаково, когда вы переключаете cpanel на url. Так что проблема, должно быть, была в другом месте.

0 голосов
/ 12 мая 2010

Я почти уверен, что /cpanel (если это панель управления хостингом) фактически перенаправляет (302) вас на http://www.tas-tech.com:2082/ или что-то в этом роде. Вы должны просто обновить свою вещь, чтобы справиться с перенаправлением (или еще лучше, просто отправить запрос на реальный адрес).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...