2010-05-12 4 views
0

J'avais initialement la variable cpanel nommée url et le code ne retournerait rien. Une idée pourquoi? Ça ne semble pas être utilisé par quoi que ce soit d'autre, mais il doit y avoir quelque chose que je néglige.Pourquoi "url" ne fonctionne-t-il pas en tant que variable ici?

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'] 

Répondre

0

Je suis assez sûr que /cpanel (si elle est le panneau de contrôle d'hébergement) réoriente effectivement (302) vous http://www.tas-tech.com:2082/ ou quelque chose comme ça. Vous devriez juste mettre à jour votre chose pour faire face à la redirection (ou mieux encore, envoyez simplement la demande à l'adresse réelle).

+0

Ah, merci. J'ai remarqué plus tard que j'avais l'erreur 302 alors que je ne l'étais pas en utilisant la nouvelle variable. Je ne sais pas ce qui a changé, mais de toute façon je ne peux pas le reproduire maintenant tout va bien. – kryptobs2000

2

Notez que urllib2.Request a un paramètre nommé url, mais cela ne devrait vraiment pas être la source du problème, il fonctionne comme prévu:

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

Notez que votre code ci-dessus fonctionne de manière identique lorsque vous passez cpanel pour url. Donc le problème devait être ailleurs.

+0

Ah, oui, merci l'homme. Assez sûr que webdestroya a découvert quel était le problème; quelque chose à voir avec une redirection; Je ne sais pas pourquoi ça ne se passe pas maintenant, mais cela me semble assez logique. – kryptobs2000

Questions connexes