2010-05-12 2 views
0

Я изначально имел переменную cpanel с именем url, и код ничего не возвращал. Любая идея почему? Кажется, что это не используется ничем другим, но должно быть что-то, что я пропускаю.Почему «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'] 

ответ

0

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

+0

Ах, спасибо. Позднее я заметил, что получил 302 «ошибку», когда раньше я не использовал новую переменную. Не уверен, что изменилось, но в любом случае я не могу воспроизвести его сейчас, так что все хорошо. – kryptobs2000

2

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

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

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

+0

Ах, да, спасибо, человек. Довольно уверен, что webdestroya узнала, в чем проблема; что-то делать с перенаправлением; не знаю, почему это не происходит сейчас, но это имеет для меня достаточный смысл. – kryptobs2000

Смежные вопросы