2017-07-20 9 views
0

ここに私の問題があります:python urllib2 Httpエラーとurlerrorの両方を確認します

私のスクリプトには、スクリプトの他の部分に基づいて変更される8つのリンクがあります。このリンクのうち、必要なファイルを実際に開くのは1つだけですが、他の7つは404エラー(HTTP)または10061エラー(接続が拒否され、URLerror)が発生する可能性があります。

私は私のコードは、これやりたい:エラーが10061の場合http.headersはcontent.type 'PDF' を持っている場合は、エラーが404である場合

を、

何もしないことは、

何もしません、ダウンロードに進みます。

私がこれまでに書いたコード:

try: 
     response = urllib2.urlopen(link) 
    except urllib2.HTTPError, e: 
     if e.code == 404: 
      print '404' 
    except urllib2.URLError, e: 
      if '10061' not in e.args 
       #Download code here 
+0

何あなたはこのコードに関して質問/問題がありますか? –

答えて

0

うーん、あなたのコードを見て、あなたがそれを達成したいのか、これらの3行は、最も可能性の高い次のようになります(チェックしない)

try: 
    response = urllib2.urlopen(link) 
except urllib2.HTTPError, e: 
    if e.code == 404: 
     print '404' 
except urllib2.URLError, e: 
    if e.code == 10061: 
     print '10061' 
content_type = response.get_header('content.type', default=None) 
if content_type == 'pdf': 
    #Download code here 
+0

返信ありがとうございますが、 "if e.code == 10061"に関する無効な構文が表示されています – user3919889

+0

メイト... {:}後に行方不明 – Silwest

関連する問題