2011-01-22 19 views
1

スレッドで作業しています。スレッドを使用してウェブサイトをダウンロードする必要があります。私はまた、サイトに請願を送信するスレッドを持っていますが、答えを待つことはありません。 待たないものはこれです:urllib.urlopenはスレッドで実行されません

class peticion(Thread): 
    def __init__(self, url): 
     Thread.__init__(self) 
     self.url = url 

    def run(self): 
     f = urllib.urlopen(self.url) 
     f.close() 

この1つは、正しく動作が応答を待たなければなら1が2分5秒から、完了するまでにランダムな時間のようなものを取りますか、それは決して終わらないかもしれません。これはクラスです:

class playerConn(Thread): 
    def __init__(self, ev): 
     Thread.__init__(self) 
     self.ev = ev 

    def run(self): 
     try: 
      params = urllib.urlencode('''params go here''') 
      f = urllib.urlopen('''site goes here''') 
      resp = f.read() 
      f.close() 
     finally: 
      # do something with the response 

私が使用するかどうかにかかわらず...それは動作しませんfinally文は、urlopen機能後のコードを実行するために取得することはできませんしてみてください。

どうすればよいですか?

+2

私はちょうどあなたのコードを試して、それは基本的に書かれた私のために働いた。おそらく、404などのURLを開いたときにエラーがないかどうかを確認してください。 –

答えて

0

URLに問題があるようですが、コードは問題なく、何か間違っているようです。 私はあなたのウェブサイトから多少の問題を抱えている可能性があります。 テストするために、localhostで何かを開いてみてください。

関連する問題