2009-07-18 10 views
1

J'essaie d'utiliser IE8 via COM pour accéder à un site sécurisé (à savoir, SourceForge), en Python. Voici le script:IE8 automation et https

from win32com.client import gencache 
from win32com.client import Dispatch 
import pythoncom 

gencache.EnsureModule('{EAB22AC0-30C1-11CF-A7EB-0000C05BAE0B}', 0, 1, 1) 


class SourceForge(object): 
    def __init__(self, baseURL='https://sourceforget.net/', *args, **kwargs): 
     super(SourceForge, self).__init__(*args, **kwargs) 

     self.__browser = Dispatch('InternetExplorer.Application') 
     self.__browser.Visible = True 
     self.__browser.Navigate(baseURL) 

    def run(self): 
     while True: 
      pythoncom.PumpMessages() 

def main(): 
    sf = SourceForge() 
    sf.run() 

if __name__ == '__main__': 
    main() 

Si je lance IE à la main, très bien. Si je lance le script, j'obtiens une page d'erreur générique "Internet Explorer ne peut pas afficher cette page". Si je change de baseURL pour utiliser http au lieu de https, le script fonctionne. Je suppose que c'est une "caractéristique" de sécurité. J'ai essayé d'ajouter le site à la liste des sites de confiance. J'ai essayé d'activer le script IE dans les options de la zone Internet. Ne fonctionne pas Google n'était d'aucune aide.

Alors, est-ce que quelqu'un sait quelque chose à ce sujet? Y at-il une option mystérieuse pour activer ou suis-je condamné?

Je suis sous Windows XP SP3 BTW, Python 2.5 et pywin32 construire 213.

+0

Note pour les personnes essayant la même chose: le Shockwave Flash 6.0.88.0 bloque IE8 sur certaines pages de sourceforge.net. – fraca7

Répondre

2

Je ne peux pas ouvrir https://sourceforget.net/ - non pas par la main, et non pas par le script.

Etes-vous sûr que ce lien est correct?

+0

Je ne peux pas y croire * est * un http://sourceforget.net/ (sans SSL). Que je suis bête. – fraca7